【发布时间】:2016-07-09 09:20:57
【问题描述】:
我的 Nginx SSL 设置有问题。我的默认设置是/etc/nginx/nginx.conf
我在/etc/nginx/sites-enabled 中尝试了一个非常简单的设置:
server
{
listen 80;
server_name sub.mydomain.com;
return 301 https://$host$request_uri;
# This root works
#root /var/www/html;
}
server
{
listen 443 default_server ssl;
server_name sub.mydomain.com;
ssl on;
ssl_certificate /var/www/html/cert.pem;
ssl_certificate_key /var/www/html/key.pem;
root /var/www/html;
}
HTTP 有效,但 HTTPS 无效。运行时连接被拒绝:
curl -v https://sub.mydomain.com
我尝试将 /etc/hosts 设置为:
127.0.0.1 sub.mydomain.com
没有问题,如果我在本地使用服务器中的 Web 浏览器访问该页面,我可以看到绿色的 SSL 栏。但是,如果我使用另一台计算机从外部访问该页面,我仍然会遇到连接被拒绝。
我也尝试过启用 Ubuntu 防火墙并通过以下方式允许 SSL:
ufw allow 443
它不起作用。
Nginx的日志文件没有错误
编辑 1
我试过listen 0.0.0.0:80和listen 0.0.0.0:443还是不行
netstat -nlp | grep nginx 的输出:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 12591/nginx -g daem
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 12591/nginx -g daem
有人可以帮忙吗?谢谢。
【问题讨论】:
-
尝试将
listen 80;更改为listen 0.0.0.0:80;,443也一样。 -
同时显示
netstat -nlp | grep nginx的输出 -
ufw allow ssl在我的系统上出现错误,因为 ssl 不是已定义的服务。你的意思是ufw allow https?? -
对不起,我的意思是
ufw allow 443 -
所以,它正在监听所有接口。这是在哪里托管的; EC2偶然?请求可能会被外部防火墙阻止。
标签: ssl nginx connection-refused