我正在尝试将站点从 HTTP 迁移到 HTTPS,但是,我的 nginx(版本:1.10.3)配置似乎无法正常工作。
需要以下行为:
http://www.example.com/path/to/content
应该重定向到https://example.com/path/to/content
http://example.com/path/to/content
应该重定向到https://example.com/path/to/content
https://www.example.com/path/to/content
应该重定向到https://example.com/path/to/content
使用我当前的配置浏览器不会使用 HTTPS 连接到该站点:
server {
listen 80;
listen [::]:80;
server_name www.example.com example.com;
# redirects both www and non-www to https
rewrite ^(.*) https://www.example.com$1 permanent;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;
# redirects non-www to www
rewrite ^(.*) https://www.example.com$1 permanent;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
include snippets/ssl-example.com.conf;
include snippets/ssl-params.conf;
charset utf-8;
# rest of my config
}
- 我必须改变什么才能实现上述行为?
- 是否可以在第一步中接受(然后重定向)HTTP 请求以保持页面“活动”并让我对其进行测试?
- 我的网站有很好的 SEO 排名(索引为“ http://www.example.com ”),所以正确重定向是必须的。