
У меня возникли проблемы с доступом к веб-сайту, который недавно получил SSL-безопасность на стороне сервера.
Доступ к сайту в обычном режиме не вызывает проблем, но когда я пытаюсь открыть сайт на сервере, на котором он размещен, он просто не открывается.
Это не единственный сайт на этом сервере, и я могу получить доступ ко всем из них, за исключением тех, которые имеютSSL-безопасность.
Это вызывает проблему, поскольку рассматриваемый веб-сайт содержитAPI-сервиси некоторым другим сайтам необходимо подключиться к этому API.
Но подключение к этому сайту черезxmlHttpRequest(и другие подобные коды) не работают.
Я бы предпочел не переписывать все коды для этих других сайтов, когда все функции доступны в API. (Это также означало бы внесение изменений во многих разных местах по мере развития и изменения сервисов.)
Что может быть причиной этой проблемы и как ее исправить?
РЕДАКТИРОВАТЬ:На этом сервере есть другой сайт, защищенный SSL, и меня дезинформировали о его статусе. К этому другому сайту можно получить доступ со стороны сервера. Я проверю все настройки IIS и брандмауэра на сервере, чтобы выяснить, почему они ведут себя по-разному.
РЕДАКТИРОВАТЬ:Я нашел решение, изменив правило перезаписи, которое заставляет использовать https, чтобы оно не применялось к внутреннему адресу (127.0.0.1). Теперь я могу получить доступ к веб-сайту со стороны сервера.
Это не решит проблему, а лишь временно поможет избежать ее.
решение1
Можно добавить запись хостов для веб-сайта и получить к нему доступ, используя доменное имя. Таким образом, SSL-рукопожатие будет работать
решение2
Если вы заходите на свой сайт по имени localhost
, а ваш SSL-сертификат настроен на имя хоста (или какое-то другое имя), ваш клиент может отказаться подключаться к нему. Трудно сказать, как исправить проблему, не зная подробностей, но вы можете попробовать делать запросы с тем же именем, что и в SSL-сертификате, или попробовать отключить проверку клиента-сервера, но тогда вы потеряете безопасность, которую обеспечивает SSL.