Назад | Перейти на главную страницу

Различные расположения файлов для http v https в IIS?

У нас есть сервер, на котором запущен IIS, и некоторые папки работают по протоколу https, но большинство из них открыты. Проблема, с которой я сталкиваюсь, заключается в том, что когда кто-то направляется со страницы в защищенном разделе сайта, относительная ссылка вызывает https. Например:

ссылка на

/картинки

идет в

http://www.mysite.com/pictures

Но если кто-то находится на защищенной части сайта

https://www.mysite.com/shoppingcart

А затем щелкает обратно на / pictures, они получают

https://www.mysite.com/pictures

поэтому каталог изображений отображается под https. Моя проблема в том, что они получают сообщение 404 не найдено, когда это происходит.

Я не смог найти в настройках ничего, что указывало бы на то, что защищенные соединения извлекают файлы из любого места, кроме незащищенного. Если я наберу http или https на главной странице сайта, оба будут в порядке. Но если я попытаюсь добавить https: // на уровне папки, я получу 404.

Есть идеи, почему это может происходить?

Если я вас правильно понимаю, https://www.mysite.com/pictures бросает 404, но http://www.mysite.com/pictures нет. И, https://www.mysite.com работает.

Ваши ссылки с вашего веб-сайта являются относительными, поэтому, если они посещались по http, ссылки были http, в противном случае - https. Я полагаю, что это то, что вам нужно.

Итак, для 404 ошибок во вложенной папке это не поведение по умолчанию.

Можете ли вы сказать, истинная ли это ошибка 404 или есть код субстатуса? В случае сбоя окно браузера может отображаться, в противном случае проверьте журналы IIS.

Отслеживание неудачных запросов - тоже хороший способ узнать, что происходит.

Я не могу предположить, что могло бы вызвать это, поэтому я предлагаю попробовать разбить это на мельчайшие части. т.е. пройдите по этим ссылкам напрямую, не учитывая HTML на странице, и посмотрите, сможете ли вы его воспроизвести. Тогда проблема может стать более очевидной.

Убедитесь, что Http: // и https: // действительно являются одним и тем же веб-сайтом. Вы можете легко настроить два веб-сайта в IIS, один из которых прослушивает трафик http (порт 80), а другой - трафик https (порт 443 с установленным сертификатом SSL). Если диспетчер IIS перечисляет в разделе веб-сайтов не только «Веб-сайт по умолчанию», то у вас могут быть отдельные веб-сайты для трафика HTTP и HTTPS. Вы также должны проверить, настроен ли SSL только для одной папки веб-сайта или для всего домена. SSL настраивается, щелкнув правой кнопкой мыши веб-сайт или папку в диспетчере IIS, выбрав вкладку «Безопасность каталога» и изменив настройки «Безопасная связь».