Задать вопрос

После обновления до nginx 1.10 браузеры выдают, что сединение не защищено. Как исправить?

Был на домашнем компьютере сайт для экспериментов. Изначально был установлен nginx 1.8. После обновления системы nginx обновился до 1.10. При этом возникли проблемы со входом на сайт по https.
Изначально использовалось значние ssl_ciphers по умолчанию (просто не указывал в конфигах). Однако после обновления стал получать ERR_SPDY TRANSPORT_SECURITY. в Chrome и пустую страницу в Firefox. Поковыряв в интернете разные варианты значений добился, что в Chrome сайт стал работать, а вот в Firefox работать отказывается по причине не защищённости соедиения. Просто отображается пустая страница. В отладчике есть содержимое запроса, но нет ни строчки ответа. Как ни странно, в логах nginx пусто. Даже полностью очищал папку и смотрел какие логи будут пополняться новой информацией.
Доп.информация. У меня есть ещё один "сервер" - домашняя файлопомойка на той же операционной системе Gentoo. Там тоже есть https сайт и он работает нормально даже после обновления. Кроме этого, в интернете есть саой виртуальный сервер на FreeBSD. Там тоже обновился nginx до 1.10 и этот сертификат работает без проблем на другом домене (в сертификате прописано 2 домена).
Пробовал выставить те же USE флаги, что и на рабочем nignx. Не помогло. Даже конфигурацию скачал с работающего nginx и лоложил на проблемный.
В чём ещё может быть проблема? Где отловить ошибку,, в каких логах?
P.S.: на 1.8 использовал spdy, после обновления исправил на http2. Пробовал отключать, всё равно проблема с сертификатом.
Конфиг для сайта. TLS SNI support enabled
server {
    listen      443 ssl http2;
    server_name ecample.com;

    ssl_certificate /etc/ssl/nginx/ecample.com.crt;
    ssl_certificate_key /etc/ssl/nginx/ecample.com.key;

    charset utf-8;

    access_log  /var/log/nginx/ecample.com_access.log;
    error_log  /var/log/nginx/ecample.com_error.log;

    root   /home/fsa/www/ecample.com;

    location / {
        index  index.php index.html;
    }

    location ~ \.php$ {
        fastcgi_pass php-fpm;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

server {
    listen      80;
    server_name ecample.com www.ecample.com;
    return 301 https://ecample.com$request_uri;
}

server {
    listen      443 ssl http2;
    server_name www.ecample.com;
    ssl_certificate /etc/ssl/nginx/ecample.com.crt;
    ssl_certificate_key /etc/ssl/nginx/ecample.com.key;
    return 301 https://ecample.com$request_uri;
}

Так работает в Chrome.
user fsa fsa;
worker_processes 1;

error_log /var/log/nginx/error_log info;

events {
        worker_connections 1024;
        use epoll;
}

http {
    upstream php-fpm {
        server unix:/var/run/php.socket;
    }

    ssl_password_file /etc/ssl/nginx/ssl.passwd;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECOM:AES256+EDH";

    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 5m;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

        log_format main
                '$remote_addr - $remote_user [$time_local] '
                '"$request" $status $bytes_sent '
                '"$http_referer" "$http_user_agent" '
                '"$gzip_ratio"';

        client_header_timeout 10m;
        client_body_timeout 10m;
        send_timeout 10m;

        connection_pool_size 256;
        client_header_buffer_size 1k;
        large_client_header_buffers 4 2k;
        request_pool_size 4k;

        gzip on;

        output_buffers 1 32k;
        postpone_output 1460;

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;

        keepalive_timeout 75 20;

        ignore_invalid_headers on;

        index index.html;

    include /etc/nginx/sites/*;
}

P.P.S. Проблема всё-таки в HTTP2. Когда пробовал его отключать, то забыл про ещё один хост, где было включен HTTP2 и он не отключался.
  • Вопрос задан
  • 695 просмотров
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 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+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!EXP:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы