操作系统:centos7
Nginx版本:1.17.3
问题描述:
现在公司官网网址,假设http://www.aaaa.com,需要做ssl认证。公司申请了一个包含域名www.aaaa.com(重点)的ssl证书。我在Nginx上配置了ssl证书后,发现访问https://www.aaaa.com正常,但是访问https://aaaa.com就提示不安全的链接-------原因:ssl证书只包含了www.aaaa.com域名,未包含aaaa.com域名导致。
因为某些原因(不想被领导再鄙视一顿),不想重新申请包含aaaa.com域名的ssl证书,所以打算配置Nginx来实现访问https://aaaa.com时自动跳转到https://www.aaaa.com。
于是按照网上的帖子,做了如下设置:
server {
listen 443 ssl;
server_name aaaa.com;
return 301 https://www.aaaa.com$request_uri;
}
server {
listen 443 default_server ssl;
server_name www.aaaa.com;
ssl_certificate com.crt;#配置证书位置
ssl_certificate_key com.key;#配置秘钥位置
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
gzip on;
gzip_comp_level 6;
gzip_proxied any;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript application/x-font-woff image/jpeg image/gif image/png;
location / {
root html;
index index.html index.htm;
}
}
好了,问题来了:
访问https://aaaa.com时,死活不自动跳转到https://www.aaaa.com啊!!!!
各种尝试以后发现:
以上Nginx配置,能实现访问https://aaaa.com时自动跳转到https://www.aaaa.com的功能,是建立在ssl证书同时包含aaaa.com和www.aaaa.com2个域名的前提下!!!!!!!!
好吧,进入死循环了~~~因为ssl包含域名不全所以想自动跳转;结果想自动跳转得先把ssl证书域名补全。
没辙了,只好让领导,再去跟领导的领导提申请,重新申请包含全部域名的ssl证书了。