Всем привет. На серваке крутится https-сайт, хочу добавить ещё один, но не получается настроить второй конфиг так, чтобы nginx нормально стартанул после добавления нового сайта. Испробовала разные мануалы, пока безрезультатно. Если настроить 2-й конфиг без ssl (80), то всё работает. Оба сайта на одном IP, сертификаты успешно генерены с помощью Let’s Encrypt. Может, кто подскажет дельное руководство на русском или английском? В интернете много устаревшей инфы
Проблема ещё в том, что при проверке второго сайта на https://www.ssllabs.com/ssltest он пишет ошибку, что типа на этом IP уже висит сайт (первый). Но при отключенном втором конфиге (когда nginx нормально стартовал) в браузере адрес второго сайта с https-протоколом запускается нормально, правда, отображает главную страницу первого сайта
Спасибо, заработало. Всё сделала как у вас, убрала лишние ssl-блоки и исправила ошибки вылезшие через
sudo nginx -t
Тест на https://www.ssllabs.com/ssltest тоже теперь проходит нормально
Можно теперь и другие проекты перевести на https, двое ещё на http болтаются, и гугл на них жалуется иногда
У меня к вам ещё вопрос по теме: основной сайт на указанном IP работает отлично, а вот второй сайт на этом же IP начал пестрить ошибками в логах. Дело в том, что у них есть похожие адреса, например:
И вот в логах второго сайта появляются 404 сообщения типа страница /event/spitc не найдена. Т.е. как будто обращение к первому сайту идёт по айпишнику, и на этот запрос пытается ответить второй сайт…
Как исправить эту проблему?
Я уж подумала, что это была плохая идея размещать два сайта на одном IP, однако народ говорит, что в техническом плане это не проблема. Как же тогда избавиться от перекрёстных запросов? Можно, конечно, на втором сайте настроить URL’ы так, чтобы не было идентичных адресов, но решит ли это проблему?
Генерите рандомный серт и подсовываете его. Обратившись, клиент сначала получит предупреждение о невалидности сертификата и только после этого - 403 ошибку.
спасибо за ответ, я пока отказалась от блокировки айпишника - у меня из-за этого LetsEncrypt перестал продлять домены. наверно, нужна тонкая настройка, но заморачиваться неохота. лучше урлы поменяю на втором домене
Недавно мне стало интересно, можно ли видеть на какой сайт идет человек, если используется TLS. Наткнулся на отсыл к RFC 3546
3.1. Server Name Indication
[TLS] does not provide a mechanism for a client to tell a server the
name of the server it is contacting. It may be desirable for clients
to provide this information to facilitate secure connections to
servers that host multiple 'virtual' servers at a single underlying
network address.
In order to provide the server name, clients MAY include an extension
of type "server_name" in the (extended) client hello. The
"extension_data" field of this extension SHALL contain
"ServerNameList" where...
Т.е. клиент может, но не обязан посылать имя сайта, на который он коннектится. Вначале происходит установка защитного соединения, а потом по защищенному соединению идет get запрос на сайт. Правда это TLS1.0. Попробовал посмотреть в новых, но явно там такого подпункта не написано. Возможно это будет полезно в понимании причин поведения, которые наблюдает ТС. Но для меня пока не вполне ясно, есть ли гарантированный метод определять к какому сайту идет TLS соединение.
Ну мне вот интересно, почему всё же имеют место перекрёстные ссылки. У меня весь лог второго сайта заполнен такими ошибками. И, анализируя адреса, я могу точно сказать, что на втором сайте нигде на страницах нет подобных ссылок. А значит, ссылки идут с основного сайта - и видимо, они относительные, без указания домена. Таким образом вижу 2 варианта решения: либо вешать второй сайт на другой IP, либо делать все ссылки абсолютными. Иначе так и будут километровые логи, в которых сложно найти действительно важные ошибки