Проблемы и сценарии

Версия 1.10 от Alexandr Fokin на 2022/05/13 13:34

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

1) Отключения настройки "Reverse rewrite host in response headers"

IIS reverse proxy with rewrites can't handle a redirect from the server we proxy to
https://stackoverflow.com/questions/4243959/iis-reverse-proxy-with-rewrites-cant-handle-a-redirect-from-the-server-we-proxy


2) Переписывание заголовков во входящих запросах для отключения сжатия в ответах сервера приложения. (Например gzip)

У IIS могут возникнуть проблем с изменением содержимого страницы, если ответ от сервера приложения возвращается в сжатом виде.

IIS as a reverse proxy - compression of rewritten response from backend server
https://stackoverflow.com/questions/15926203/iis-as-a-reverse-proxy-compression-of-rewritten-response-from-backend-server

The server variable is not allowed to be set.
http://www.sansys.net/2015/01/server-variable-is-not-allowed-to-be-set.html

Замечание: заголовок с указанием сжатия для html контента, и для ответа от web api могут быть разными.


3) Переписывание редирект ссылок в хедерах ответов от севера приложения

Modifying HTTP Response Headers
https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/modifying-http-response-headers


4) Переписывание ссылок в html страницах, json ответах web api и другом контенте.

How to fix URL Rewriting for links inside CSS files with IIS7
https://stackoverflow.com/questions/8653399/how-to-fix-url-rewriting-for-links-inside-css-files-with-iis7

Замечание: паттерн сопоставления в html страницах и json документах могут различаться в следствии наличия/отсутствия/различии в экранировании символов.