Я наблюдаю некоторые странные сбои установления связи SSL на стороне клиента. У нас есть собственное веб-приложение js, доступное только для браузеров со старым Webkit (например, в Epiphany). Все запросы, поступающие от клиента, выполняются из одного и того же браузера (версия и тип).
Вот симптомы:
а.) в браузере клиента отображается ошибка подтверждения SSL:
б.) Ошибок SSL не обнаружено в nginx error, syslog или openssl log
c.) В дампе tcp я вижу некоторые странные случайные ошибки SSL Handshake:
г) мы используем Let's encrypt SSL сертификаты
д.) nginx.conf:
ssl_prefer_server_ciphers на;
nginx служит прокси, который перенаправляет весь http-трафик на https
с поддержкой сайтов:
server {
listen 80; server_name srv_name; return 301 https://$host$request_uri;
}
server {
listen 443; server_name srv_name; proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; ssl on; ssl_certificate fullchain.pem_path; ssl_certificate_key privkey.pem_path; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL; location /robots.txt { alias /opt/robots.txt; } location /.well-known/ { alias /usr/share/nginx/html/.well-known/; } location / { proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_pass http://localhost:8000/; break; }
}
е.) Основной поток:
g.) Вещи начали происходить после миграции на новые серверы (с Ubuntu 14.04 lts (openssl 1.0.1f 6 января 2014 г.) на Ubuntu 16.04 lts (1.0.2g 1 марта 2016 г.) Версия приложения и клиентского браузера остались прежними.
Есть идеи, где искать дальше? Почему это происходит не всегда, когда клиент открывает URL-адрес, а очень спорадически.