Nginx SSL 不起作用

Nginx SSL 不起作用

我正在运行带有 nginx 的 debian squeeze 网络服务器,但无法让 SSL 工作。我收到的错误不是来自 apache,而是来自客户端网络浏览器,显示“连接超时错误”

我从 StartSSL 购买了 SSL 证书,当它不起作用时,我尝试生成自己的证书以排除故障。两次都产生了相同的错误,都没有起作用,而且我的 nginx 日志没有显示任何内容。

我的 SSL 配置如下:

server {
            listen 443 default_server ssl;
            server_name tarror.org www.tarror.org;
            ssl on;
            ssl_certificate      /srv/ssl/nginx.pem;
            ssl_certificate_key  /srv/ssl/nginx.key;

            root /wdata/tarror.org;
            index index.php index.htm index.html;

            location ~ .php$ {
              fastcgi_pass   127.0.0.1:9000;
              fastcgi_index  index.php;
              fastcgi_param  SCRIPT_FILENAME /wdata/tarror.org$fastcgi_script_name;
              include fastcgi_params;
            }
   }

答案1

在您的 Web 服务器的防火墙中打开端口 443。

答案2

我首先尝试删除该ssl on;行,因为自 nginx 以来该行已被弃用1.15.0ssl在该listen行中添加内容会执行相同的操作。

来自 Nginx 文档:

Syntax: ssl on | off;
This directive was made obsolete in version 1.15.0. 
The ssl parameter of the listen directive should be used instead.

本文对我在 Ubuntu 上使用自签名证书很有帮助:

http://www.networkinghowtos.com/howto/configure-nginx-to-use-ssl-certificates/

这显示了基于不同版本的 nginx 的 SSL 所需的配置语法。

确保 Nginx 使用 监听端口 443。netstat -an同时确保没有任何可能阻止端口 443 的防火墙/iptables 规则。

相关内容