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

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

От версии 1.11
отредактировано Alexandr Fokin
на 2022/05/13 14:50
Изменить комментарий: К данной версии нет комментариев
К версии 1.14
отредактировано Alexandr Fokin
на 2022/11/23 19:00
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

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