nginx判断某个目录不跳转https,其他目录强制跳转https配置规则
在nginx配置文件中,可以使用`location`指令来设置目录的跳转规则。对于不需要跳转https的目录,可以添加一个特定的`location`块,使用`proxy_pass`指令指向该目录的http地址;而对于需要强制跳转https的目录,可以添加另一个`location`块,使用`rewrite`指令将http请求重定向到https地址。例如: ``` server { listen 80; server_name example.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name example.com; location /no-https { proxy_pass http://example.com/no-https; } location / { rewrite ^(.*)$ https://$host$request_uri permanent; }
网站开启了强制https,但是火车头发布的时候https有问题,所以后台的目录链接不能用https,这种nginx规则该怎么写?
nginx规则如下
if($server_port!~443){set$flag"${flag}1";}if($request_uri!~"/admin"){set$flag"${flag}2";}if($flag="012"){rewrite^(.*)$https://$host$1permanent;}
判断端口是否为443,也就是HTTPS,指定/admin后台目录