宝塔用户_tuficn 发表于 2024-12-3 16:14:54

【待反馈】nginx + php组合,开启了强制https,让某个地址支持

为了能快速了解并处理您的问题,请提供以下基础信息:面板、插件版本:
系统版本:
问题描述:
相关截图(日志、错误):

宝塔用户_tuficn 发表于 2024-12-3 16:15:31

某个.php的页面 https 可以访问 也能让http 访问。

宝塔用户_tuficn 发表于 2024-12-3 16:28:57

请问这样的规则应该怎么写,是nginx新手

堡塔运维南一 发表于 2024-12-3 18:14:41

您好,把强制https关闭就可以了

宝塔用户_tuficn 发表于 2024-12-3 20:31:11

堡塔运维南一 发表于 2024-12-3 18:14
您好,把强制https关闭就可以了

只有两个url需要 http https双协议,别的我还想强制https的。

宝塔用户_tuficn 发表于 2024-12-4 08:58:30

我已经解决了 nginx if 不支持嵌套,变通处理,将结果分享给大家。
#HTTP_TO_HTTPS_START
set $NonSpecialURL 1;
if ($request_uri = "/*****/*****/****.php") {
        set $NonSpecialURL 0;
}
if ($request_uri = "/****/*****.php") {
        set $NonSpecialURL 0;
}
set $Access443 0;
if ($server_port !~ 443) {
        set $Access443 1;
}
set $Jmup443 "${Access443}${NonSpecialURL}";
if ($Jmup443 = 11) {
        rewrite ^(/.*)$ https://$host$1 permanent;
}
#HTTP_TO_HTTPS_END

宝塔用户_tuficn 发表于 2024-12-4 08:59:57

我已经变通解决,由于nginx 不支持嵌套if
#HTTP_TO_HTTPS_START
set $NonSpecialURL 1;
if ($request_uri = "/****/*****.php") {
        set $NonSpecialURL 0;
}
if ($request_uri = "/adbar/***.php") {
        set $NonSpecialURL 0;
}
set $Access443 0;
if ($server_port !~ 443) {
        set $Access443 1;
}
set $Jmup443 "${Access443}${NonSpecialURL}";
if ($Jmup443 = 11) {
        rewrite ^(/.*)$ https://$host$1 permanent;
}
#HTTP_TO_HTTPS_END
页: [1]
查看完整版本: 【待反馈】nginx + php组合,开启了强制https,让某个地址支持