Nginx配置文件正则匹配符说明

配置文件server location匹配:

1、正则表达式匹配,其中:

* ~ 为区分大小写匹配

* ~* 为不区分大小写匹配

* !~和!~*分别为区分大小写不匹配及不区分大小写不匹配

支持客户SLB中Http监听器重定向到Https监听器

1、客户必须先创建https的监听器及转发规则;

2、客户再创建http的监听器,有跳转选项(跳转已创建的Https监听器),并无须/不可创建Http监听器的转发规则;

3、客户已创建了Https和Http的监听器及转发规则,需要将Http监听器修改跳转至Https监听器,可选择跳转,但必须有确认项,确认后,后台改配,

跳转Https监听器,原Http监听器转发配置失效;

4、监听器跳转不限制端口,即http85可重定向到https446;

5、不支持不支持https重定向到http,这个可以在控制台限制,仅在http协议下支持重定向选择;

6、跳转状态码可选择301;

在server里配置,server_name为请求的http域名,如下配置会跳转到这个域名的https:

server{

listen 80;

server_name www.abc.com;

return 301 https://$server_name$request_uri;

location /test{

}

}

server{

listen 443 ssl;

server_name www.abc.com;

ssl_certificate "/root/tmp/server.cert";

ssl_certificate_key "/root/tmp/server.key";

ssl_session_timeout 10m;

location /test {

}

}

redirect 返回302临时重定向

permanent 返回301永久重定向

return 301 https://$host$request_uri;

server {

listen 80;

server_name abc.com;

rewrite ^/(.*) http://www.ab c.com/$1 permanent; # 跳转到www.abc.com网址上

}

rewrite ^/(.*) http://www.ab c.com/$1 permanent; # 跳转到www.abc.com网址上

rewrite ^(.*) http://www.baidu.com break;

server {

...

rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 last;

rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra last;

return 403; #没有匹配上,那就返回403咯

...

}

last 本条规则匹配完成后继续向下匹配新的location URI规则

break 本条规则匹配完成后终止,不在匹配任何规则

redirect 返回302临时重定向

permanent 返回301永久重定向

server {

listen 80;

server_name www.abc.com;

rewrite ^(.*)$ https://$server_name$1 permanent;

location /{

}

}

server {

listen 443 ssl;

server_name www.abc.com;

ssl on;

ssl_certificate /etc/nginx/ssl/domain.com.crt;

ssl_certificate_key /etc/nginx/ssl/domain.com.crt;

location /{

}

}

redirect 返回302临时重定向

permanent 返回301永久重定向

发布了17 篇原创文章 · 获赞 0 · 访问量 3239

猜你喜欢

转载自blog.csdn.net/realmardrid/article/details/104496775