Nginx
為什麼我在使用 Certbot 安裝 SSL 證書後無法訪問我的網站?(執行 Ubuntu 和 Nginx)
我無法在我的 nginx 伺服器上建立與埠 443 的連接。
我需要埠 443 來啟用 https 連接,我使用 certbot 來安裝 ssl 證書,我使用預設安裝和本指南中的預設說明
即使我已將“nginx full”命令設置為同時打開 http 和 https 埠,我還是通過執行以下命令仔細檢查以確保埠 443 確實打開
sudo lsof -i -P -n | grep LISTEN
,並且在響應中,我得到埠 443 正在使用通過 nginx我嘗試使用 cURL 之類的工具來測試我的埠,埠 80 工作得很好,但是埠 443 沒有響應
我缺乏伺服器管理經驗,我試圖檢查其他資源,但我不知道還能做什麼。
我的站點可用配置:
server { root /var/www/muhammed-aldulaimi.com/html; index index.html index.htm index.nginx-debian.html; server_name muhammed-aldulaimi.com www.muhammed-aldulaimi.com; location / { try_files $uri $uri/ =404; } listen [::]:443 ssl ipv6only=on; # managed by Certbot listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/muhammed-aldulaimi.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/muhammed-aldulaimi.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server { if ($host = www.muhammed-aldulaimi.com) { return 301 https://$host$request_uri; } # managed by Certbot if ($host = muhammed-aldulaimi.com) { return 301 https://$host$request_uri; } # managed by Certbot listen 80; listen [::]:80; server_name muhammed-aldulaimi.com www.muhammed-aldulaimi.com; return 404; # managed by Certbot }
ufw狀態:
22/tcp ALLOW Anywhere Nginx Full ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) Nginx Full (v6) ALLOW Anywhere (v6)
在確認 ubuntu 的防火牆設置沒有問題後,我認為問題出在 Web 主機本身。我使用的是 AWS Lightsail,結果發現 Lightsail 只接受來自埠 22 和 80 的連接。在“網路”選項卡中添加接受其他埠的規則;解決了我的問題。