gpt4 book ai didi

ssl - Nginx 重定向 http ://www and naked http/https to https://www

转载 作者:太空宇宙 更新时间:2023-11-03 12:43:10 25 4
gpt4 key购买 nike

我想重定向来自以下域的所有流量:

  • http://domain.com
  • http://www.domain.com
  • https://domain.com

  • https://www.domain.com

我有上述域的 SSL 证书。它托管一个 Rails 应用程序,由 Passenger 提供服务。

为了完成裸域重定向,我在我的 DNSimple 帐户中设置了一个 URL 重定向:

URL domain.com  3600  https://www.domain.com

我的服务器 block 如下(受 Nginx no-www to www and www to no-www 等启发):

server {
listen 80;
listen 443;
server_name domain.com;

ssl on;
ssl_certificate /etc/ssl/domain-ssl.crt;
ssl_certificate_key /etc/ssl/domain.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

server_tokens off;
access_log /dev/null;
error_log /dev/null;

return 301 https://www.domain.com$request_uri;
}

server {
listen 443 ssl;
server_name www.domain.com;

root /home/deploy/app/current/public;
passenger_enabled on;
passenger_app_env production;
passenger_set_cgi_param HTTP_X_FORWARDED_PROTO https;

ssl on;
ssl_certificate /etc/ssl/domain-ssl.crt;
ssl_certificate_key /etc/ssl/domain.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
}

passenger_pre_start https://www.domain.com;

什么有效:

  • 裸域被重定向到安全的 https://www
  • http://www 域被重定向到安全的 https://www
  • https:// www 作品

什么不:

  • Naked https:// 不起作用,浏览器会抛出找不到服务器

基本上,我想将所有流量重定向到安全的 https://www.domain.com。我在这里缺少什么?

最佳答案

如果您没有从 https://domain.com 重定向的 domain.com 的证书至 https://www.domain.com将不起作用,因为在浏览器获得重定向之前,它必须成功建立 SSL 连接(https 是 SSL 中的 http)并且由于证书不匹配而失败。

关于ssl - Nginx 重定向 http ://www and naked http/https to https://www,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22729928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com