Nginx сбой конфигурации SSL

Я настроил SSL на своем LEMP с самоподписанным сертификатом согласно инструкциям здесь: https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-nginx-in-ubuntu-16-04

ЕДИНСТВЕННОЕ исключение default_server который я не смогу использовать, потому что это будет multi-vhost сервером (в конечном счете)

Ничто не перестало работать во время всего процесса, пока я не пытаюсь просмотреть сайт через HTTPS, он перестал работать с Secure Connection Failed без другой опции обойти. (Я ожидаю ошибку на основе самоподписанного сертификата, но в Firefox обычно существует, что кнопка 'Advanced' я могу обойти с.)

Я также проверил, что соответствующие порты открыты для сервера через netstat -ntlp

netstat output

Можно просмотреть сайт здесь, если Вы хотите видеть сообщение об ошибке: https://www.azem.us/(это - непроизводство, таким образом, я не настоящий взволнованный по поводу этого...),

Выполнение curl -I https://www.azem.us/ возвращает меня следующая ошибка: curl: (35) gnutls_handshake() failed: The TLS connection was non-properly terminated.

Что действительно получило меня, есть ли ни в каком настроенном журнале ошибок нет ничего.

Что я могу сделать, чтобы зафиксировать это и смочь подать эти сайты с SSL?

Примечание: Это также происходит с правильно сертификатом SSL от реального CA

Выполнение диагностирования прогресса 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

МЕРЗАВЕЦ 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
задан 21 September 2016 в 15:36

1 ответ

После большого обсуждения и обдумывания здесь, я нашел, какова проблема была.

В моем основном nginx.conf я устанавливал эти listen директивы и к порту 80 и к 443

, После того как я удалил их и добавил их к конфигурациям VHost, это начало работать.

2
ответ дан 7 December 2019 в 13:41

Другие вопросы по тегам:

Похожие вопросы: