Изменения документа Проблемы и сценарии
Редактировал(а) Alexandr Fokin 2023/01/28 20:46
От версии 1.14
отредактировано Alexandr Fokin
на 2022/11/23 19:00
на 2022/11/23 19:00
Изменить комментарий:
К данной версии нет комментариев
К версии 1.13
отредактировано Alexandr Fokin
на 2022/10/19 16:11
на 2022/10/19 16:11
Изменить комментарий:
Update document after refactoring.
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,13 +3,16 @@ 1 -|(% style="width:262px" %)Отключения настройки 2 -"Reverse rewrite host in response headers"|(% style="width:1231px" %)((( 3 3 Возможны случаи, когда веб приложение будет формировать html страницы, содержащие некорректные ссылки. Например ссылающиеся не на адрес прокси, а на внутренний адрес приложения. 4 4 Потребуется, что прокси модифицировал исходящие страницы, переписывая содержимое на основе некоторых правил. 5 5 4 + 5 +1) Отключения настройки "Reverse rewrite host in response headers" 6 + 6 6 IIS reverse proxy with rewrites can't handle a redirect from the server we proxy to 7 7 https://stackoverflow.com/questions/4243959/iis-reverse-proxy-with-rewrites-cant-handle-a-redirect-from-the-server-we-proxy 8 -))) 9 -|(% style="width:262px" %)Переписывание заголовков во входящих запросах для отключения сжатия в ответах сервера приложения. 10 -(Например gzip)|(% style="width:1231px" %)((( 9 + 10 +---- 11 + 12 +2) Переписывание заголовков во входящих запросах для отключения сжатия в ответах сервера приложения. (Например gzip) 13 + 11 11 У IIS могут возникнуть проблем с изменением содержимого страницы, если ответ от сервера приложения возвращается в сжатом виде. 12 12 13 13 IIS as a reverse proxy - compression of rewritten response from backend server ... ... @@ -17,42 +17,53 @@ 17 17 http://www.sansys.net/2015/01/server-variable-is-not-allowed-to-be-set.html 18 18 19 19 Замечание: заголовок с указанием сжатия для html контента, и для ответа от web api могут быть разными. 20 -))) 21 -|(% style="width:262px" %)Переписывание редирект ссылок в хедерах ответов от севера приложения|(% style="width:1231px" %)Modifying HTTP Response Headers 23 + 24 +---- 25 + 26 +3) Переписывание редирект ссылок в хедерах ответов от севера приложения 27 + 28 +Modifying HTTP Response Headers 22 22 https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/modifying-http-response-headers 23 -|(% style="width:262px" %)Переписывание ссылок в html страницах, json ответах web api и другом контенте.|(% style="width:1231px" %)((( 30 + 31 +---- 32 + 33 +4) Переписывание ссылок в html страницах, json ответах web api и другом контенте. 34 + 35 + 24 24 How to fix URL Rewriting for links inside CSS files with IIS7 25 25 https://stackoverflow.com/questions/8653399/how-to-fix-url-rewriting-for-links-inside-css-files-with-iis7 26 26 27 27 Замечание: паттерн сопоставления в html страницах и json документах могут различаться в следствии наличия/отсутствия/различии в экранировании символов. 28 28 41 + 29 29 {{code language="xml"}} 30 30 <outboundRules> 31 31 <preConditions> 32 32 <preCondition name="IsRedirection"> 33 - <add input="{RESPONSE_STATUS}" pattern="3\d\d" ></add>46 + <add input="{RESPONSE_STATUS}" pattern="3\d\d" /> 34 34 </preCondition> 35 35 <preCondition name="ResponseIsHtml"> 36 - <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" ></add>49 + <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" /> 37 37 </preCondition> 38 38 <preCondition name="ResponseIsJson"> 39 - <add input="{RESPONSE_CONTENT_TYPE}" pattern="^application/json" ></add>52 + <add input="{RESPONSE_CONTENT_TYPE}" pattern="^application/json" /> 40 40 </preCondition> 41 41 </preConditions> 42 42 <rule name="Rewrite Location Header" preCondition="IsRedirection" stopProcessing="true"> 43 - <match serverVariable="RESPONSE_Location" pattern="http://ResponseUrl(.*)" ></match>44 - <action type="Rewrite" value="https://ProxyUrl{R:1}" ></action>56 + <match serverVariable="RESPONSE_Location" pattern="http://ResponseUrl(.*)" /> 57 + <action type="Rewrite" value="https://ProxyUrl{R:1}" /> 45 45 </rule> 46 46 <rule name="Rewrite static content" preCondition="ResponseIsHtml" stopProcessing="true"> 47 - <match filterByTags="None" pattern="http://ResponseUrl" ></match>48 - <action type="Rewrite" value="https://ProxyUrl" ></action>60 + <match filterByTags="None" pattern="http://ResponseUrl" /> 61 + <action type="Rewrite" value="https://ProxyUrl" /> 49 49 </rule> 50 50 <rule name="Rewrite api content" preCondition="ResponseIsJson" stopProcessing="true"> 51 - <match filterByTags="None" pattern="http:\\/\\/ResponseUrl" ></match>52 - <action type="Rewrite" value="https://ProxyUrl" ></action>64 + <match filterByTags="None" pattern="http:\\/\\/ResponseUrl" /> 65 + <action type="Rewrite" value="https://ProxyUrl" /> 53 53 </rule> 54 54 </outboundRules> 55 55 {{/code}} 56 -))) 57 -|(% style="width:262px" %) |(% style="width:1231px" %) 58 -|(% style="width:262px" %) |(% style="width:1231px" %) 69 + 70 +---- 71 + 72 +