Nginx SSL no puede conectarse al sitio

Nginx SSL no puede conectarse al sitio

Acabo de comprar un certificado SSL para mi sitio web e intenté hacerlo funcionar con mi instalación de nginx, pero al conectarme, el navegador rechaza la conexión con el sitio web. Aquí está la parte relevante de 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;

[.....]

La configuración que ves arriba

La parte 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;

No sé qué hice mal, seguí muchos tutoriales para llegar a este punto y luego simplemente no funciona.

Respuesta1

La primera configuración del servidor es una redirección a HTTPS (segunda configuración).

En la configuración del segundo servidor, el módulo SPDY no está integrado de forma predeterminada, debe habilitarse con el --with-http_spdy_moduleparámetro de configuración. Tenga en cuenta que para aceptar conexiones HTTPS y SPDY simultáneamente en el mismo puerto, la biblioteca OpenSSL utilizada debe admitir la extensión TLS "Next Protocol Negotiation", disponible desde la versión 1.0.1 de OpenSSL (referencia aquí).

Escribiría la configuración del segundo servidor de esta manera (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]
  ...
}

En el, nginx.confomitiría todo lo relacionado con SSL y lo mantendría de forma predeterminada.

información relacionada