问题描述
博主添加了一个二级域名想用来部署其它web服务,二级域名是没有ssl证书的,而一级域名是已经配置好ssl。
配置好Nginx后,在地址栏输入http://二级域名却跳转到https://二级域名,并且会提示不安全信息如“你与该网站的连接不是私密连接”。
点击继续访问,结果发现虽然地址是二级域名,但内容根本不是我二级域名配置的web服务,而是一级域名的web服务,并且地址上https标识有红色划线很难看。
问题原因
因为博主的ssl证书不是单域名证书不是通配符证书,在Nginx配置中没有考虑多级域名情况,而偷懒把ssl配置在了http块中
问题解决
将ssl配置移到server中,如下所示
# 一级域名
server {
listen 80;
listen [::]:80;
server_name xxx.com www.xxx.com;
rewrite ^(.*)$ https://$host$1 permanent;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate xxx.pem;
ssl_certificate_key xxx.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
# 。。。。。。
}
# 其它多级域名
server {
listen 80;
listen [::]:80;
server_name yy.xxx.com;
# 。。。。。。
}

本文解决了一位博主在使用Nginx配置二级域名时遇到的问题,即二级域名未配置SSL证书,但在访问时被错误地重定向到HTTPS并显示一级域名的内容。通过调整Nginx配置,将SSL设置从HTTP块移至特定的server块,解决了二级域名显示错误内容及HTTPS警告的问题。

720

被折叠的 条评论
为什么被折叠?



