我想重定向来自以下域的所有流量:
http://domain.com
http://www.domain.com
https://domain.com
到
https://www.domain.com
我具有上述域的SSL证书。它托管了一个由旅客提供的Rails应用程序。
为了完成裸域重定向,我在DNSimple帐户中设置了URL重定向:
URL domain.com 3600 https://www.domain.com
我的服务器块如下(受Nginx no-www到www和www到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工程什么不是:
https://
不起作用,浏览器抛出未找到的服务器基本上我想将所有流量重定向到安全的https://www.domain.com
。我在这里想念什么?
如果您没有domain.com的证书,则无法从https://domain.com重定向到https://www.domain.com,因为在浏览器获得重定向之前,它必须成功建立SSL连接(https是SSL内的http),并且失败,因为证书不匹配。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句