Nginx SSL 配置失败

Nginx SSL 配置失败

我已根据此处的说明在我的 LEMP 上使用自签名证书配置了 SSL:https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-nginx-in-ubuntu-16-04

唯一的例外是,default_server我将无法使用,因为这最终将是一个多虚拟主机服务器

整个过程中没有任何失败,直到我尝试通过 HTTPS 浏览网站,它失败了,Secure Connection Failed没有其他选择可以绕过。(我预计会出现基于自签名证书的错误,但在 Firefox 中通常有“高级”按钮可以绕过。)

我还验证了服务器是否通过以下方式打开了正确的端口netstat -ntlp

netstat 输出

如果您想查看错误消息,可以在此处浏览该网站:https://www.azem.us/ (它不是生产性的,所以我并不担心它......)

运行时curl -I https://www.azem.us/返回以下错误:curl: (35) gnutls_handshake() failed: The TLS connection was non-properly terminated.

真正让我困扰的是,任何配置的错误日志中都没有任何内容。

我该怎么做才能修复这个问题并能够使用 SSL 来提供这些网站?

笔记:来自真实 CA 的正确 SSL 证书也会发生这种情况

进展诊断 运行openssl s_client -connect www.azem.us:443返回了一些有趣的信息:

CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 305 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1474399712
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---

我的想法可能有点错误,但这是否意味着证书在服务器上不存在?我可以验证它们确实存在,并且在我的nginx.conf

并带有:openssl s_client -verify www.azem.us:443 返回:

verify depth is 0
connect: Connection refused
connect:errno=111

nmap从另一台机器

Host is up (0.0043s latency).
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

telnet可以连接,但在尝试端口 443 时立即关闭连接

GIT REPO 配置:https://github.com/kpirnie/LEMP-Command

终于取得了一些进展...我改变了error_log主 nginx.conf 的级别,现在在日志中收到错误:2016/09/21 08:22:58 [error] 29557#29557: *4 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking, client: this.is.my.ip, server: 0.0.0.0:443

答案1

经过多次讨论和审议后,我发现了问题所在。

在我的主程序中,nginx.conf我同时设置了listen端口80443

一旦我删除它们并将它们添加到 VHost 配置中,它就开始工作了。

相关内容