Перенаправить несколько сайтов (HTTP и HTTPS) на одну страницу (ngxin - ubuntu)

Я ' В настоящее время у меня есть плавающий IP-адрес, указывающий на сервер, на котором размещено несколько сайтов, некоторые с SSL, другие без.

Мне нужно выключить, сделать резервную копию и изменить размер указанного сервера - и я надеялся настроить простую страницу хранения на небольшом VPS instance - переключение на плавающий IP-адрес, перехват всего трафика и перенаправление.

У меня был этот запуск с использованием 'servername _' в качестве подстановочного знака для перехвата всех доменных имен, однако (несмотря на то, что порт был открыт) - мне не удалось получить доступ сайт по адресу HTTPS - и когда я добавил перенаправление на основе схемы (перенаправление на HTTP) - это, похоже, не имело никакого эффекта?

Любая помощь очень ценится. Я полагаю, что это, вероятно, относительно простой серверный блок nginx.

1
задан 10 January 2016 в 23:49
2 ответа

Согласно комментариям, если вы хотите поймать трафик по HTTPS, вы должны определить блок сервера, который обслуживает правильные SSL-сертификаты для рассматриваемых доменов. Согласование SSL происходит до того, как вы сможете отправить перенаправление в браузер, и если nginx не может предоставить действительный сертификат для домена, возникнут ошибки.

Вам нужен только один серверный блок, прослушивающий порт 80, чтобы перехватить все HTTP и обслуживать вашу статическую страницу хранения;вам даже не нужно объявлять server_name, поскольку это, вероятно, будет единственным блоком, который в любом случае соответствует трафику порта 80 (или вы можете использовать listen 80 default_server; , чтобы он определенно использовался другим неперехваченным трафиком, если вы обслуживают другие домены, которые должны храниться отдельно).

Я лично рекомендовал бы, чтобы для каждого блока ssl-сервера вы обслуживали страницу хранения напрямую, а не перенаправляли на другой домен (или даже не тот же домен, что и https), который обслуживает страницу , хотя бы для того, чтобы не запутать Google и другие поисковые системы, которые сканируют ваши домены.

1
ответ дан 3 December 2019 в 20:43

При использовании классических настроек SSL требовалось иметь уникальный IP-адрес для каждого сертификата SSL. Вы не упомянули, делаете вы это или нет. Если это так, то простого указания одного IP-адреса на временном VPS будет недостаточно для отображения сайтов SSL - все IP-адреса для сайта SSL также должны быть указаны там.

Совсем недавно был создан SNI, позволяющий обслуживать несколько сертификатов SSL с одного IP-адреса. Недостатком этого подхода является ограниченная поддержка браузеров. Если вы используете SNI или хотите, то вы можете обслуживать все свои домены с одного IP-адреса независимо от того, нужен им SSL или нет.

1
ответ дан 3 December 2019 в 20:43

Теги

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