Назад | Перейти на главную страницу

Новый SSL, Safari не может открыть страницу b / c сервер неожиданно сбросил соединение (поддомен)

После долгого поиска в Google и просмотра Serverfault у меня все еще есть проблема с SSL:

Safari вообще не может открыть страницу, Firefox выдает «сбой безопасного соединения» после 5 минут бездействия (не просмотра или чего-то еще). Chrome / Chromium возвращает ошибку 403, затем быстро перезагружает страницу, и все работает.

Произошло это после установки SSL-сертификата компанией Comodo. Вы можете увидеть отчет здесь: https://www.ssllabs.com/ssltest/analyze.html?d=marketplace.mercicapitaine.fr&hideResults=on

SSL Shopper хорош: https://www.sslshopper.com/ssl-checker.html#hostname=marketplace.mercicapitaine.fr

TLS - 1.2. SSLlabs говорит: «Сервер не поддерживает прямую секретность с эталонными браузерами». и «Этот сервер поддерживает слабые параметры обмена ключами Диффи-Хеллмана (DH)».

Я сделал TCPdump, но мне трудно это понять ..

Я не серверщик, поэтому приветствуются любые советы по отладке / отслеживанию ошибок. Он размещен на NGINX, в журнале ошибок ничего особенного.

Заранее большое спасибо за уделенное время :)

Редактировать: nginx config:

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;
}

# This order might seem weird - this is attempted to match last if rules below fail.
location / {
        try_files $uri $uri/ /index.php?$args;
}

# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

# Directives to send expires headers and turn off 404 error logging.
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;

    }
}

После проверки конфигурации nginx ssl по ссылке в вашем комментарии, я бы изменил некоторые вещи в вашей конфигурации. Дай мне заняться этим:

server {
   # more_set_headers "Server: my web server :-)";
   listen 80;
   server_name marketplace.mercicapitaine.fr;
   return 301 https://$server_name$request_uri;
}



server {
   # more_set_headers "Server: my web server :-)";

   listen 443 ssl;
   server_name marketplace.mercicapitaine.fr;

   ssl_certificate /home/ubuntu/ssl_2016/ssl-bundle.crt;
   ssl_certificate_key /home/ubuntu/ssl_2016/mckey.key;
   ssl_session_timeout 1d;
   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. Подумайте о создании как минимум 2048-битных параметров Диффи-Хеллмана.
  2. эта конфигурация выше пытается принять большинство ваших настроек и пути, пожалуйста, проверьте его, чтобы убедиться, что он правильный.
  3. Я делаю переписывание с порта 80 на порт 443 через постоянное перенаправление
  4. Разделы без ssl / ssl разделены
  5. видеть SSLLabs чтобы проверить свою веб-страницу и посмотреть, есть ли какие-либо дополнительные параметры безопасности, которые вы можете настроить.

Я предполагаю, что вы хотите создать блог на wordpress.

Если есть вопросы, не стесняйтесь спрашивать.