【发布时间】:2018-09-09 12:22:39
【问题描述】:
我正在尝试将 http 重定向到 https。我将letsencrypt用于ssl证书。我的配置是这样的
server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
server_name example.com www.example.com;
root /var/www/landing;
location /.well-known/ {
root /var/www/;
}
}
当我尝试访问 example.com 时,我收到一个浏览器错误,提示重定向太多。 http://example.com 和 https://example.com 都出现错误,当我转到 http://www.example.com 时访问服务器块,因为我被重定向到 https://example.com,然后我收到上述错误。
我该如何解决这个问题?
【问题讨论】:
-
检查您的网站内容,因为它可能有许多硬编码的 http 链接。
-
我在浏览器的地址栏中输入网址,如果我不进行重定向,它可以工作,所以我认为它与网站内容没有任何关系
-
如果没有重定向,您的服务器会同时监听端口 80 的 http 请求和端口 443 的 https,没有 http url 从端口 80 重定向到端口 403,当然它“有效”!