NGINX的重定向&反向代理

准备工作
一台已经部署好nginx的虚拟机
两台环境干净的虚拟机

重定向

调整用户浏览的URL,看起来规范 合乎开发及产品人员的需求 为了让搜索引擎收录网站内容,让用户体验更好企业会将动态URL地址伪装成静态地址提供服务 网站更换新域名后 例如,访问京东的360buy.com会跳转到jd.com。根据特殊的变量、目录、客户端信息进行跳转 URL重写有利于网站首选域的确定,对于同一资源页面多条路径的301重定向有助于URL权重的集中

重定向

vim nginx.conf


	server {
   
		listen 80;
		server_name www.westos.org; 定义域名
	}
        location / {
   
            root   /web;
            index  index.html index.htm;
        }
    }

访问时,实际访问的是/web/index.html文件。

设置发布文件

mkdir /web
vim /web/index.html

web/index.html

重启服务

cd /usr/local/nginx
./sbin/nginx -t
./sbin/nginx -s reload

测试
curl www.westos.org

重定向-临时&永久

rewrite重写规则

 rewrite    <regex>    <replacement>    [flag];
 关键字      正则        替代内容          flag标记
关键字:其中关键字error_log不能改变
正则:perl兼容正则表达式语句进行规则匹配
替代内容:将正则匹配的内容替换成replacement
flag标记:rewrite支持的flag标记

flag标记说明:
last    本条规则匹配完成后,继续向下匹配新的location URI规则
break   本条规则匹配完成即终止,不再匹配后面的任何规则
redirect    返回302临时重定向,浏览器地址会显示跳转后的URL地址
permanent   返回301永久重定向,浏览器地址栏会显示跳转后的URL地址
rewrite ^/(.*) http://www.czlun.com/$1 permanent;

说明:                                        

rewrite为固定关键字,表示开始进行rewrite匹配规则
regex部分是 ^/(.*) ,这是一个正则表达式,匹配完整的域名和后面的路径地址
replacement部分是http://www.czlun.com/$1 $1,是取自regex部分()里的内容。匹配成功后跳转到的URL。
flag部分 permanent表示永久301重定向标记,即跳转到新的 http://www.czlun.com/$1 地址上
. : 匹配除换行符以外的任意字符
? : 重复0次或1次 例如“do(es)?”能匹配“do”或者“does”,"?"等效于"{0,1}"
+ : 重复1次或更多次 如“ol+”能匹配“ol”及“oll”、“oll”,但不能匹配“o”
* : 重复0次或更多次 #如“ol*”能匹配“o”及“ol”、“oll”
\d :匹配数字
^ : 匹配字符串的开始
$ : 匹配字符串的结束
{
   n} : 重复n次
{
   n,} : 重复n次或更多次
[c] : 匹配单个字符c
[a-z] : 匹配a-z小写字母的任意一个

location 是在 server 块中配置。可以根据不同的 URI 使用不同的配置(location 中配置),来处理不同的请求。

修改配置文件
临时

vim nginx.conf


        location / {
   
            root   /web;
            index  index.html index.htm;
        }
    }

	server {
   
        listen 80;
        server_name www.westos.org;
        rewrite ^/(.*)$ https://www.westos.org/$1;	##$1表示用户在这里输入的内容保留,只会重定向$1前面的
		#rewrite ^/(.*)$ https://www.westos.org/$1 permanent;	永久重定向(可以缓存,临时的不允许缓存)
}

永久

	server {
   
        listen 80;
        server_name www.westos.org;
		#rewrite ^/(.*)$ https://www.westos.org/$1 permanent;
	    rewrite ^/bbs$ https://bbs.westos.org/index.html permanent;	#表示访问www.westos.org并且以bbs结尾的,都定向到https://bbs.westos.org

重启服务

cd /usr/local/nginx
./sbin/nginx -t
./sbin/nginx -s reload

测试
curl www.westos.org

permanent 返回301

重定向-加密

www.westos.org(实质:http://www.westos.org) 自动跳转到 https://www.westos.org
即:http —> https

重新编译nginx

./configure --prefix=/usr/local/nginx  --with-http_realip_module --with-http_image_filter_module=dynamic --with-http_ssl_module
make make install
cp ngx_http_image_filter_module.so /usr/local/nginx/modules/

生成自签名证书

cd /etc/pki/tls/certs
make cert.pem
执行完make后填写信息如下
cn -> shaanxi -> xi'an -> westos -> linux-> server1 ##注意主机名字 -> [email protected]

证书在/usr/local/nginx/conf/目录下才会生效

cp cert
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值