1 votes

Nouveau SSL, Safari ne peut pas ouvrir la page car le serveur a anormalement abandonné la connexion (sous-domaine)

Après beaucoup de recherches sur Google et de parcours sur Serverfault, j'ai toujours un problème SSL :

Safari ne peut pas ouvrir la page du tout, Firefox affiche une "connexion sécurisée échouée" après 5 minutes d'inactivité (sans navigation ou autre). Chrome/Chromium renvoie une erreur 403 puis recharge rapidement la page et tout fonctionne.

Cela s'est produit après l'installation d'un certificat SSL par Comodo. Vous pouvez voir le rapport ici : https://www.ssllabs.com/ssltest/analyze.html?d=marketplace.mercicapitaine.fr&hideResults=on

SSL Shopper est tout bon : https://www.sslshopper.com/ssl-checker.html#hostname=marketplace.mercicapitaine.fr

TLS est en 1.2 SSLlabs dit : "Le serveur ne prend pas en charge le Secret Forward avec les navigateurs de référence." et "Ce serveur prend en charge des paramètres d'échange de clés Diffie-Hellman (DH) faibles."

J'ai fait un TCPdump, mais j'ai du mal à le comprendre...

Je ne suis pas un expert serveur, donc tout conseil sur la façon de déboguer/tracer les erreurs est le bienvenu. C'est hébergé sur NGINX, rien de spécial dans le journal des erreurs.

Un grand merci d'avance pour votre temps :)

Édition : nginx configuration :

server {
    listen *:80;
    listen *:443 ssl;
    ssl_certificate /home/ubuntu/ssl_2016/ssl-bundle.crt;
    ssl_certificate_key /home/ubuntu/ssl_2016/mckey.key;
    server_name marketplace.mercicapitaine.fr;

    access_log /var/log/nginx/marketplacemercicapitainefr.access.log;
    error_log /var/log/nginx/marketplacemercicapitainefr.error.log;

    root /srv/marketapp/;
    index index.html index.htm index.php;

    fastcgi_buffers 16 16k;
    fastcgi_buffer_size 16k;
    fastcgi_read_timeout 900;

    client_max_body_size 50M;

if ($scheme = http) {
        return 301 https://$server_name$request_uri;
}

# Cet ordre peut sembler étrange - cela est tenté pour correspondre aux dernières règles if ci-dessous en cas d'échec.
location / {
        try_files $uri $uri/ /index.php?$args;
}

# Ajouter une barre oblique à la fin des requêtes */wp-admin.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

# Directives pour envoyer les en-têtes d'expiration et désactiver la journalisation des erreurs 404.
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
       access_log off; log_not_found off; expires max;
}
location = /favicon.ico {
        log_not_found off;
        access_log off;
}

location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|wml|swf|pdf|doc|docx|ppt|pptx|zip)$ {
        expires max;
        log_not_found off;
        add_header Pragma public;
        add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}

location ~* \.()$ {
        expires 31536000s;
}

    location ~ [^/]\.php(/|$) {

        fastcgi_index index.php;
        include fcgi.conf;
        fastcgi_pass unix:/var/run/ajenti-v-php-fcgi-marketplacemercicapitainefr-php-fcgi-0.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    }
}

1voto

semm0 Points 238

Après avoir vérifié la configuration ssl de nginx à partir du lien dans votre commentaire, je changerais quelques choses dans votre configuration. Laissez-moi m'en occuper :

serveur {
   # more_set_headers "Serveur: mon serveur web :-)";
   écouter 80;
   nom du serveur marketplace.mercicapitaine.fr;
   retour 301 https://$server_name$request_uri;
}

serveur {
   # more_set_headers "Serveur: mon serveur web :-)";
   écouter 443 ssl;
   nom du serveur marketplace.mercicapitaine.fr;
   ssl_certificate /home/ubuntu/ssl_2016/ssl-bundle.crt;
   ssl_certificate_key /home/ubuntu/ssl_2016/mckey.key;
   ssl_session_timeout 1j;
   ssl_session_cache shared:SSL:10m;
   # ssl_session_tickets off;
   # openssl dhparam -out dhparam.pem 2048
   # ssl_dhparam /etc/nginx/SSL/dhparams.pem;
   ssl_protocols TLSv1.1 TLSv1.2;
   ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGC$
   ssl_prefer_server_ciphers on;
   add_header Strict-Transport-Security "max-age=15768000;includeSubdomains; preload";
   root /srv/marketapp/;
   index index.html index.htm index.php;
   client_max_body_size 20M;
   location / {
       try_files $uri $uri/ /index.php;
   }
   location ~ \.php$ {
       fastcgi_split_path_info ^(.+\.php)(/.+)$;
       fastcgi_pass unix:/var/run/ajenti-v-php-fcgi-marketplacemercicapitainefr-php-fcgi-0.sock;
       fastcgi_index index.php;
       include fastcgi_params;
   }
   location /doc/ {
       alias /usr/share/doc/;
       autoindex on;
       allow 127.0.0.1;
       deny all;
   }
   location ~/\.ht {
       deny all;
   }
 }
  1. Veuillez envisager de générer au moins des paramètres Diffie-Hellman de 2048 bits.
  2. Cette configuration ci-dessus essaie d'adopter la plupart de vos paramètres et chemins, veuillez la vérifier pour vous assurer qu'elle est correcte.
  3. Je fais une redirection permanente du port 80 vers le port 443
  4. sections non ssl / ssl séparées
  5. voir SSLLabs pour vérifier votre page web et voir s'il y a des options de sécurité supplémentaires que vous pouvez configurer.

Je suppose que vous voulez configurer un blog wordpress.

Si vous avez des questions, n'hésitez pas à demander.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X