Nginx подгружает не тот сертификат. Что делать?

Есть конфиги для каждого домена такого вида
....
server_name  host.[net,ru,com,by];
ssl_certificate /path/to/cert/host.[net,ru,com,by].crt;
ssl_certificate_key /path/to/cert/host.[net,ru,com,by].key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers kEECDH+AES128:kEECDH:kEDH:-3DES:kRSA+AES128:kEDH+3DES:DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security max-age=63072000;
add_header X-Content-Type-Options nosniff;
.....


В некоторых браузерах(IE, Firefox, etc..) заходя на домен .net подгружает левый сертификат, обычно для домена .by. И соответственно браузер ругается на несоответсвие домена и сертификата, похожих ситуаций нашел, те методы решения не помогли.

p.s.
Nginx собран с поддержкой SNI
  • Вопрос задан
  • 2755 просмотров
Пригласить эксперта
Ответы на вопрос 2
merryjane
@merryjane
Системный администратор
Проверьте что nginx собран с поддержкой SNI. Это можно сделать командой nginx -V.
А также проверьте что браузеры, в которых наблюдается проблема тоже умеют SNI:
nginx.org/ru/docs/http/configuring_https_servers.html

Если проблема действительно в этом, то сертификаты и разные виртуальные хосты можно разнести по разным ip-адресам.
Ответ написан
@dimedr Автор вопроса
Для улучшения поддержки браузером, был в сам сертификат был добавлен корневой сертификат для цепочки.
У многих решилась проблема, но это не панацея.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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