1

我对 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

有人可以帮忙吗?谢谢。

4

1 回答 1

1

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

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

于 2016-07-09T13:47:06.250 回答