【问题标题】:Nginx SSL connection refused, but works locallyNginx SSL 连接被拒绝,但在本地工作
【发布时间】: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:80listen 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


【解决方案1】:

我已经通过打开路由器的433端口解决了这个问题。换路由器忘记打开端口了。

感谢 Will 提供有关外部防火墙的想法。

【讨论】:

    猜你喜欢
    • 2015-07-19
    • 1970-01-01
    • 2020-01-05
    • 2022-11-09
    • 1970-01-01
    • 2013-03-02
    • 2020-09-16
    • 2021-01-16
    • 1970-01-01
    相关资源
    最近更新 更多