Я настроил 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
Можно просмотреть сайт здесь, если Вы хотите видеть сообщение об ошибке: 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
После большого обсуждения и обдумывания здесь, я нашел, какова проблема была.
В моем основном nginx.conf
я устанавливал эти listen
директивы и к порту 80
и к 443
, После того как я удалил их и добавил их к конфигурациям VHost, это начало работать.