教你实现宝塔ssl局部https跳转

佚名 2020-12-4 1,404 12/4

思路:

第一印象的直接添加额外一条规则,失败了。。    原因。nginx的配置中不支持if条件的逻辑与/逻辑或运算 ,并且不支持if的嵌套语法

替代方案:

set $flag 0;
if ($server_port !~ 443) {
        set $flag "${flag}1";
}

if ($request_uri !~ "/123"){
        set $flag "${flag}2";
}

if ($flag = "012"){
         rewrite ^(.*)$  https://$host$1 permanent;
}

解释:满足非443 端口 并且 域名目录 非/123 时跳转

替换掉宝塔原来的:

  if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
- THE END -

佚名

12月04日20:37

最后修改:2020年12月4日
0

共有 0 条评论