我无法与 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)
答案1
在确认 ubuntu 的防火墙设置没有问题后,我假设问题出在 Web 主机本身。我使用的是 AWS Lightsail,结果发现 Lightsail 只接受来自端口 22 和 80 的连接。在“网络”选项卡中添加一条接受其他端口的规则;解决了我的问题。