# Nginx未配置SSL证书时访问HTTPS会跳转到同一服务器的HTTPS项目

同一台Nginx服务器上面配置了多个网站,有的网站使用了SSL(HTTPS)有的没有使用;通过https协议访问没有使用ssl的网站时,浏览器一般会有风险提示,但是如果我们选择接受风险继续打开时,会发现网站可以正常打开,但是跳转到同服务器的其他SSL(HTTPS)项目。

# 解决方案

server
{
    listen 80;
    listen 443;
    server_name itriton.icjs.ink;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/itriton.icjs.ink/;
 
    #HTTPS_TO_HTTP_START
    if ($server_port ~ 443){
        rewrite ^(/.*)$ http://$host$1 permanent;
    }
    #HTTPS_TO_HTTP_END    
 
    #SSL-START SSL相关配置
    #error_page 404/404.html;
    #SSL-END
}

原理是未配置SSL证书的网站也监听443端口,然后判断访问的地址是不是HTTPS(443端口),如果是的话就直接访问就跳转到HTTP项目地址。

上次更新: 3/21/2024, 8:35:31 PM