Nginx SSL не может подключиться к сайту

Nginx SSL не может подключиться к сайту

Я только что купил SSL-сертификат для своего сайта и попытался заставить его работать с моей установкой nginx, но при подключении браузер отказывает в соединении с сайтом. Вот соответствующая часть Vhost:

     server {
          listen 80;
          listen [::]:80;
           server_name mysite.be www.mysite.be;
           return 301 https://mysite.be$request_uri;
        }

    server {

       listen 443 ssl spdy;
        listen [::]:443 ssl spdy;

        ssl_certificate /etc/nginx/ssl/mysite.be/www.mysite.be.pem;
        ssl_certificate_key /etc/nginx/ssl/mysite.be/mysite.be.key;
        ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;   # don.t use SSLv3 because of the POODLE attack

       # Enable OCSP Stapling, point to certificate chain
       ssl_stapling on;
       ssl_stapling_verify on;
          # Tell the browser we do SPDY
         # add_header        Alternate-Protocol  443:npn-spdy/2;


            server_name mysite  *.mysite.be;

[.....]

Конфигурация, которую вы видите выше

Часть nginx.conf:

ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";

ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.4.4 8.8.8.8 valid=300s;
resolver_timeout 10s;

ssl_session_cache shared:SSL:32m;
ssl_buffer_size 8k;
ssl_session_timeout 10m;

Я не знаю, что я сделал не так, я следовал многим руководствам, чтобы дойти до этого момента, но потом это просто не работает.

решение1

Первая конфигурация сервера — это перенаправление на HTTPS (вторая конфигурация).

Во второй конфигурации сервера модуль SPDY не собран по умолчанию, он должен быть включен с помощью --with-http_spdy_moduleпараметра конфигурации. Обратите внимание, что для того, чтобы принимать соединения HTTPS и SPDY одновременно на одном порту, используемая библиотека OpenSSL должна поддерживать расширение TLS «Next Protocol Negotiation», доступное с версии OpenSSL 1.0.1 (ссылка здесь).

Я бы записал конфигурацию второго сервера следующим образом (PoC):

server {
  listen       443;
  server_name  .mysite.be;

  ssl                  on;
  ssl_certificate      /etc/nginx/ssl/mysite.be/www.mysite.be.pem;
  ssl_certificate_key  /etc/nginx/ssl/mysite.be/mysite.be.key;

  ssl_session_timeout  5m;

  ssl_protocols  SSLv2 SSLv3 TLSv1;
  ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
  ssl_prefer_server_ciphers   on;

  root [YOUR_ROOT_DIR]
  ...
}

В этом разделе nginx.confя бы опустил все, что касается SSL, и оставил бы его по умолчанию.

Связанный контент