# 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项目地址。