xenon
@xenon
Too drunk to fsck

Может ли apache/nginx выбирать из множества сертификатов?

Есть сервис, назовем его service.com. Им, через cross-domain запросы пользуются сайты a.com, b.com, c.com, итд (пользователь напрямую на service.com не заходит), но javascript с a.com обращается к service.com.

С современными аддонами от отслеживаний куки, которые ставит service.com считаются third-party и иногда по умолчанию не принимаются - это проблема. Да, юзер может отключить аддоны для этого или настроить исключение, но это все равно неприятно.

Есть решение - a.com создает запись service.a.com которая указывает на service.com и обращается к ней. Со стороны сервиса теперь можно получить LetsEncrypt сертификат для service.a.com и обслуживать запросы. Теперь это уже first-party cookies, и они устанавливаются.

Теперь к самой технической проблеме: Есть вариант, для 100 сайтов (a.com, b.com, ...) сделать 100 виртхостов, и каждый будет использовать свой сертификат, виртхост для service.a.com будет использовать service.a.com.crt, например. Но это некрасиво.

Вопрос: А можно ли сделать как-то, чтоб вебсервер сам подбирал подходящий сертификат? То есть, сайт без виртхостов (один общий конфиг на service.a.com, service.b.com, ...), и у него прописано что-то вроде SSLCertificateDir /path/ , он оттуда подгребает 100 сертификатов, и при обращении к сайту отдает соответствующий хосту сертификат.
  • Вопрос задан
  • 89 просмотров
Решения вопроса 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
В Nginx можно сделать default сервер (который catch-all), а начиная с версии 1.15.9 можно указывать переменные ($ssl_server_name) в пути к файлу сертификата.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы