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

Редактировал(а) Alexandr Fokin 2026/09/02 16:03

От версии 1.20
отредактировано Alexandr Fokin
на 2026/09/02 15:54
Изменить комментарий: К данной версии нет комментариев
К версии 1.12
отредактировано Alexandr Fokin
на 2022/10/19 16:11
Изменить комментарий: Updated parent field.

Сводка

Подробности

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