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