开发者社区> 问答> 正文

nginx全站强制https后 部分子链接怎么不用https访问

网站做了https强制跳转
用if强制跳转到https,下面的代码的话,就会全部都跳转到https
if ($scheme = http ) {
return 301 https://$host$request_uri;
}
现在是网站程序部分地址不支持https,会出现部分地址点击后没有响应了。
/?diy=yes
/admin.php
怎么样实现这个两个子链接能够以http的形式打开。

展开
收起
jike 2017-03-18 09:37:24 3507 0
1 条回答
写回答
取消 提交回答
  • server {
        listen 17001;
        location = /http {
                root html;
        }
        location / {
                if ($scheme = http ) {
                        return 301 https://$host$request_uri;
                }
        }

    }

    location的匹配是有优先级顺序的。以上的例子可以实现/http走http,其他uri走https。

    2019-07-17 20:56:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
CDN助力企业网站进入HTTPS时代 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载