Nginx配置HTTPS域名跳转到www开头域名
0
常见的是把80端口(HTTP)跳转到443端口(HTTPS),但是最近想把acgist.com
域名重定向到www.acgist.com
上面,如下配置:
server {
listen 80;
# listen 443 ssl;
server_name acgist.com;
return 301 https://www.acgist.com$request_uri;
}
server {
listen 80;
server_name www.acgist.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name www.acgist.com;
#其他配置
}
上面的代码跳转前两个成功,后面的失败:
# 成功
http://acgist.com->https://www.acgist.com
http://www.acgist.com->https://www.acgist.com
# 失败
https://acgist.com->https://www.acgist.com
如果把上面注释打开,直接都访问不了,提示:
无法访问此网站
www.acgist.com 意外终止了连接。
后来网上看到一篇文章,在后面www.acgist.com
的ssl
配置添加default_server
即可解决问题。试了一下确实可以。
修改后配置如下:
server {
listen 80;
listen 443 ssl;
server_name acgist.com;
return 301 https://www.acgist.com$request_uri;
}
server {
listen 80;
server_name www.acgist.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl default_server;
server_name www.acgist.com;
#其他配置
}
如果使用80
端口作为HTTPS端口,怎么跳转呢?配置如下:
error_page 497 https://$host:$server_port$request_uri;