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

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

От версии 1.17
отредактировано Alexandr Fokin
на 2026/09/02 15:40
Изменить комментарий: К данной версии нет комментариев
К версии 1.7
отредактировано Alexandr Fokin
на 2022/05/13 12:56
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

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