Zdaję sobie sprawę, że wygląda to na duplikat co najmniej kilku innych pytań, ale czytałem je kilka razy i wciąż robię coś złego.
Poniżej znajduje się zawartość mojego pliku konfiguracyjnego nexx myexample.com znajdującego się w /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;
}
Działa, kiedy wchodzę na https://myexample.com, treść jest obsługiwana, a połączenie jest bezpieczne. Więc ta konfiguracja wydaje się być dobra.
Teraz, jeśli zmienię port ssl na 9443 i przeładuję konfigurację nginx, konfiguracja przeładuje się bez błędów, ale odwiedzanie https://myexample.com pokazuje błąd w przeglądarce (nie można uzyskać dostępu do tej witryny / myexample.com odmówił połączyć. ERR_CONNECTION_REFUSED)
Próbowałem sugestii i dokumentacji tutaj , tutaj i tutaj (między innymi), ale zawsze pojawia się błąd ERR_CONNECTION_REFUSED.
Powinienem zauważyć, że mogę użyć niestandardowego portu, a następnie jawnie wpisać ten port w adres URL, np . Https://myexample.com:9443 . Ale nie chcę tego robić. Chcę, aby użytkownik mógł wpisać myexample.com w dowolnej przeglądarce i automatycznie przekierowywać nginx do bezpiecznego połączenia.
Ponownie nie mam żadnych problemów, gdy korzystam ze standardowego portu 443 SSL.
Edycja: Używam nginx / 1.6.2 na debian / jessie