最近同事給提了一個(gè)建議,說是公司一個(gè)項(xiàng)目的域名www.yuming.com , 要訪問yuming.com或者www.yuming.com 都要跳轉(zhuǎn)到https://www.yuming.com
最開始配置文件是這樣配置的
server {
? ? listen 443;
? ? server_name www.yuming.com yuming.com;
? ? ssl on;
? ? ssl_certificate? cert/2608548__yuming.com.pem;
? ? ssl_certificate_key? cert/2608548__yuming.com.key;
? ? ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
? ? ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
? ? ssl_prefer_server_ciphers on;
? ? charset utf-8;
}
server {
? ? listen 80;
? ? server_name www.yuming.com yuming.com;
? ? rewrite ^(.*)$? https://www.yuming.com$1 permanent;
}
結(jié)果www.yuming.com 可以跳轉(zhuǎn)HTTPS ,yuming.com直接訪問也可以跳轉(zhuǎn)HTTPS,但是要如果http://yuming.com或者h(yuǎn)ttps://yuming.com這樣訪問的話就訪問失敗。
最后排查的原因是公司購(gòu)買的域名證書是 *.yuming.com的證書,也就是說這個(gè)證書只能二級(jí)域名可以使用。yuming.com是個(gè)一級(jí)域名所以不能使用,后面重新申請(qǐng)了一個(gè)單域名yuming.com 的證書(單域名證書是免費(fèi)的),重新配置以后成功了,配置如下:
server {
? ? listen 443;
? ? server_name www.yuming.com;
? ? ssl on;
? ? ssl_certificate? cert/2608548__yuming.com.pem;
? ? ssl_certificate_key? cert/2608548__yuming.com.key;
? ? ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
? ? ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
? ? ssl_prefer_server_ciphers on;
? ? charset utf-8;
}
server {
? ? listen 443;
? ? server_name yuming.com;
? ? ssl on;
? ? ssl_certificate? cert/4137798_yuming.com.pem;
? ? ssl_certificate_key? cert/4137798_yuming.com.key;
? ? ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
? ? ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
? ? ssl_prefer_server_ciphers on;
? ? rewrite ^(.*)$? https://www.yuming.com$1 permanent;
}
server {
? ? listen 80;
? ? server_name www.yuming.com yuming.com;
? ? rewrite ^(.*)$? https://www.yuming.com$1 permanent;
}