Изменения документа Проблемы и сценарии

Редактировал(а) Alexandr Fokin 2023/01/28 20:46

От версии 1.14
отредактировано Alexandr Fokin
на 2022/11/23 19:00
Изменить комментарий: К данной версии нет комментариев
К версии 1.13
отредактировано Alexandr Fokin
на 2022/10/19 16:11
Изменить комментарий: Update document after refactoring.

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -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 +