Использование перезаписи URL-адресов для обхода ограничений http шлюза приложений Azure/веб-приложений

По сути, у меня та же проблема, что описана здесь Перенаправить HTTP на HTTPS в приложении Azure Gateway, но я пытаюсь решить эту проблему по-другому.

Мое серверное веб-приложение работает нормально, когда в AAG открыты и http, и https, однако, когда вы нажимаете ссылку, сгенерированную веб-приложением, на другую страницу, URL-адрес, отправленный обратно клиенту, предназначен для http, а не для https. Очевидно, правильное решение состоит в том, чтобы сообщить веб-приложению, что оно находится за обратным прокси-сервером, и соответствующим образом генерировать ссылки. В краткосрочной перспективе я пытался и не смог использовать модуль перезаписи URL-адресов IIS для:

a) Используя входящее правило, перепишите (не перенаправляйте) входящие URL-адреса как https, что должно заставить ответы содержать URL-адреса https (перенаправление вызывает бесконечный цикл, поскольку AAG перенаправляет все на внутренние веб-серверы как http). Я предполагаю, что это невозможно, потому что, по сути, он создает безопасный канал между собой.

б) Используя исходящее правило, перепишите ответы, чтобы URL-адреса были https вместо http. Это оказывается очень сложным, так как я не понимаю, какие части ответов мне нужно изменить. Я надеюсь, что этот подход возможен?


person ItsNotMyStrongPoint    schedule 28.04.2016    source источник


Ответы (1)


Для непосвященных ответ заключается в использовании пользовательских тегов в исходящем правиле, которые соответствуют элементам html, содержащим значения, которые необходимо изменить.

Недостатком, конечно, является то, что это означает, что веб-сервер должен выполнять сопоставление и замену шаблона на каждой отдельной странице, которую он обслуживает, если только вы не можете использовать условия для ограничения области действия. Все еще очень неэффективно по сравнению с исправлением кода, поэтому он поддерживает прокси!

person ItsNotMyStrongPoint    schedule 29.04.2016