【发布时间】:2018-04-22 12:40:40
【问题描述】:
我遵循了这个答案https://stackoverflow.com/a/28068250/3108268,但它仅从 http 重定向到 https,而非 www 重定向到 www,但是如果我在 https://example.com 访问我的网站,我会得到“您的连接不安全”。
如何将其重定向到https://www?
server{
listen 443 ssl;
server_name www.mydomain.com;
root /www/mydomain.com/;
ssl on;
ssl_certificate /ssl/domain.crt;
ssl_certificate /ssl/domain.key;
.
.
.
}
server{
listen 80;
server_name www.mydomain.com mydomain.com;
return 301 https://$server_name$request_uri;
}
server{
listen 443;
server_name mydomain.com;
return 301 https://www.$server_name$request_uri;
}
【问题讨论】:
-
如果您改用
$http_host会怎样?return 301 https://www.$http_host$request_uri; -
这只是我使用的配置,我认为它可能会有不同的结果。很抱歉没有。
-
等等。如果您的证书不涵盖顶级域
mydomain.com,那么重定向将永远不会发生是很自然的。 -
是的。如果您导航到 domain.com,您最终会在 https:// domain.com 出现警告,而不是实际重定向到 www