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