Всем привет,
Возникла задача:
- На один nginx ссылаются >1 домена, при этом, для каждого из них должен
быть доступен SSL (есть сертификаты).
- Все запросы к несуществующим на сервере хостам должны попадать в некий
хост по-умолчанию (и редиректиться оттуда rewrite-ом, но это частности).
Т.е, поступает запрос. Если есть сервер, для которого запрошенный хост
прописан в server_name - отправляем его туда. Если нет - в сервер
по-умолчанию для domain.tld, откуда его регулярка отправляет "по адресу"
(на главный сайт в зависимости от запрошенного домена).
Классическая схема (сервера + один сервер с опцией default) прекрасно
работала до тех пор, пока домен был один, а сейчас - не вариант, т.к. мы не
можем прописать в сервере больше, чем 1 SSL-сертификат (в результате чего
пользователь при обращении к несуществующему серверу по домену, отличному
от первого вместо ожидаемого редиректа получает неожиданный
FailedCertificateAlert от браузера и блокировку дальнейшего редиректа).
Если же создать сервер с server_name = *.domain.tld для каждого домена, то
туда попадают все запросы, даже те, для которых есть отдельные server-ы.
Есть какой-то нормальный путь это обойти? Например, задавать приоритет
серверу (тогда можно поставить минимальный умолчальному серверу и запрос
таки будет улетать туда только тогда, когда более подходящих серверов нет).
Или выбирать сертификат в зависимости от домена (по IF-у)?
--
With best regards,
differentlocal (www.differentlocal.ru | differentlocal@gmail.com),
System administrator.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Возникла задача:
- На один nginx ссылаются >1 домена, при этом, для каждого из них должен
быть доступен SSL (есть сертификаты).
- Все запросы к несуществующим на сервере хостам должны попадать в некий
хост по-умолчанию (и редиректиться оттуда rewrite-ом, но это частности).
Т.е, поступает запрос. Если есть сервер, для которого запрошенный хост
прописан в server_name - отправляем его туда. Если нет - в сервер
по-умолчанию для domain.tld, откуда его регулярка отправляет "по адресу"
(на главный сайт в зависимости от запрошенного домена).
Классическая схема (сервера + один сервер с опцией default) прекрасно
работала до тех пор, пока домен был один, а сейчас - не вариант, т.к. мы не
можем прописать в сервере больше, чем 1 SSL-сертификат (в результате чего
пользователь при обращении к несуществующему серверу по домену, отличному
от первого вместо ожидаемого редиректа получает неожиданный
FailedCertificateAlert от браузера и блокировку дальнейшего редиректа).
Если же создать сервер с server_name = *.domain.tld для каждого домена, то
туда попадают все запросы, даже те, для которых есть отдельные server-ы.
Есть какой-то нормальный путь это обойти? Например, задавать приоритет
серверу (тогда можно поставить минимальный умолчальному серверу и запрос
таки будет улетать туда только тогда, когда более подходящих серверов нет).
Или выбирать сертификат в зависимости от домена (по IF-у)?
--
With best regards,
differentlocal (www.differentlocal.ru | differentlocal@gmail.com),
System administrator.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru