Nginx redirige http: // www y http / https desnudo a https: // www
Me gustaría redirigir todo el tráfico de los siguientes dominios:
http://domain.com
http://www.domain.com
https://domain.com
a
https://www.domain.com
Tengo un certificado SSL para el dominio anterior. Alberga una aplicación Rails, servida por Passenger.
Para lograr la redirección de dominio simple, he configurado una redirección de URL en mi cuenta DNSimple:
URL domain.com 3600 https://www.domain.com
Mis bloques de servidor son los siguientes (Inspirado porNginx no-www a www y www a no-www Entre otros):
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;
Que funciona:
dominio desnudo se redirige a segurohttps://www
http://www
el dominio se redirige a segurohttps://www
https://
www funcionaLo que no:
Desnudohttps://
no funciona, los navegadores arrojan un servidor no encontradoBásicamente quiero redirigir todo el tráfico a la seguridadhttps://www.domain.com
. ¿Que me estoy perdiendo aqui?