Nginx的工作不重定向非www到www,如果我在https
:Nginx的:重定向非www到www上HTTPS
https://domain.com到https://www.domain.com
我在.conf
CURENT設置是:
server {
listen 80;
server_name www.domain.com domain.com;
return 301 https://www.domain.com$request_uri;
}
server {
listen 443;
server_name domain.com;
return 301 https://www.domain.com$request_uri;
}
server {
listen IP_ADDRESS:443 ssl;
server_name www.domain.com;
...
}
http://domain.com到https://www.domain.com和http://www.domain到https://www.domain.com作品,但非www對HTTPS WWW不工作。
如果我在第二個server
塊中添加了IP_ADDRESS,我在Chrome(SSL錯誤)中出現錯誤,並且兩個(www和非www)都停止工作。
UPDATE:
感謝斯特芬(以下答案),我更新了自簽名證書是*.domain.com
而不是domain.com
。
的.conf
文件格式下更新:
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
server {
listen 80;
server_name www.domain.com domain.com;
return 301 https://www.domain.com$request_uri;
}
server {
listen 443 ssl;
server_name domain.com;
return 301 https://www.domain.com$request_uri;
}
server {
listen 443 ssl;
server_name www.domain.com;
...
}
還確保您的服務器塊或更高級別具有SSL證書行,以便人們在重定向之前實際連接。 – troseman