
我有一個嘗試使用 SSL 的網站。這是我第一次這樣做。
我的伺服器配置如下所示:
server {
listen 80 ssl;
server_name {site_name};
include /etc/nginx/include.d/ssl-common;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass https://{my_server_ip}:8001;
}
}
ssl-common 檔案如下所示:
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH;
ssl_prefer_server_ciphers on;
該證書是自簽署的(這是問題嗎?)。
當我造訪我的網頁時,我收到一條 connection_refused 訊息。 nginx 日誌中沒有顯示錯誤。
謝謝
答案1
listen 80 ssl;
連接埠 80 用於 HTTP。連接埠 443 用於 HTTPS。這應該是這樣的:
listen 80;
listen 443 ssl;
事實上,您的瀏覽器可能正在嘗試連接到連接埠 443,這是應該的。由於 Nginx 錯誤地偵聽連接埠 80,因此連線被拒絕。