Me doy cuenta de que esto parece un duplicado de al menos algunas otras preguntas, pero las he leído varias veces y todavía estoy haciendo algo mal.
Los siguientes son los contenidos de mi archivo de configuración nginx myexample.com ubicado en /etc/nginx/sites-available
.
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name myexample.com www.myexample.com;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
ssl_certificate /etc/letsencrypt/live/myexample.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/myexample.com/privkey.pem;
#Configures the publicly served root directory
#Configures the index file to be served
root /var/www/myexample.com;
index index.html index.htm;
}
Funciona, cuando voy a https://myexample.com se sirve el contenido y la conexión es segura. Entonces esta configuración parece ser buena.
Ahora, si cambio el puerto SSL a 9443 y vuelvo a cargar la configuración de nginx, la configuración se vuelve a cargar sin error, pero visitar https://myexample.com muestra un error en el navegador (no se puede acceder a este sitio / myexample.com se negó a conectar. ERR_CONNECTION_REFUSED)
He intentado sugerencias y documentación aquí , aquí y aquí (entre otros) pero siempre recibo el error ERR_CONNECTION_REFUSED.
Debo señalar que puedo usar un puerto no estándar y luego escribir explícitamente ese puerto en la URL, por ejemplo, https://myexample.com:9443 . Pero no quiero hacer eso. Lo que quiero es que un usuario pueda escribir myexample.com en cualquier navegador y que nginx redirija a la conexión segura automáticamente.
Nuevamente, no tengo ningún problema cuando uso el puerto estándar 443 SSL.
Editar: estoy usando nginx / 1.6.2 en debian / jessie