Sei que isso parece uma duplicata de pelo menos algumas outras perguntas, mas eu as li várias vezes e ainda estou fazendo algo errado.
A seguir, estão os conteúdos do meu arquivo de configuração nexx myexample.com, localizado em /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 quando eu vou para https://myexample.com o conteúdo é veiculado e a conexão é segura. Portanto, essa configuração parece ser boa.
Agora, se eu alterar a porta ssl para 9443 e recarregar a configuração do nginx, a configuração será recarregada sem erros, mas visitar https://myexample.com mostra um erro no navegador (este site não pode ser acessado / myexample.com recusou-se a ERR_CONNECTION_REFUSED)
Tentei sugestões e documentação aqui , aqui e aqui (entre outros), mas sempre recebo o erro ERR_CONNECTION_REFUSED.
Devo observar que posso usar uma porta não padrão e digitar explicitamente essa porta na URL, por exemplo, https://myexample.com:9443 . Mas eu não quero fazer isso. O que eu quero é que um usuário possa digitar myexample.com em qualquer navegador e ter o nginx redirecionado para a conexão segura automaticamente.
Novamente, não tenho nenhum problema ao usar a porta SSL 443 padrão.
Edit: Estou usando o nginx / 1.6.2 no debian / jessie
Respostas:
Para oferecer suporte à digitação " https://myexample.com " no seu navegador e ao ser tratado pela
nginx
configuração que está ouvindo na porta 9443, você precisará de umanginx
configuração adicional que ainda escute na porta 443, pois essa é a porta IP a ser acessada. ao qual o navegador se conecta .Portanto:
Observe que o mesmo certificado / chave é necessário para ambas as seções, pois o certificado geralmente está vinculado ao nome do host DNS, mas não necessariamente à porta.
Espero que isto ajude!
fonte
Quando você digita https://example.com , o padrão para o esquema https: // é conectar-se à porta 443. No seu caso, você moveu o servidor para que ele agora escute na porta 9443. A conexão é recusada mensagem por causa disso - nada está escutando na porta 443.
Você precisará providenciar para que algo escute na porta 443 que redirecione as conexões para a porta 9443 ou use uma porta como parte da URL.
fonte
se você alterar a porta para uma não padrão como 9443, precisará adicionar um redirecionamento de 443 para 9443. Defina nginx para reverter o proxy para essa porta.
fonte