Причини
Під час використання функції з IIS поширені шлюзовий інтерфейс (CGI) для розміщення виконувані програми, в яких використовується певний бібліотеку переспрямування запитів, запити можуть бути невірними залежно від наявності заголовок запиту "Проксі-сервер". У цій бібліотеці відомі різних веб-платформ. До них відносяться PHP, Python і Go, серед інших.
Причина
CGI-це інтерфейс, який дозволяє веб-сервер для хост-програм, які запускаються як виконуваних процесів. Коли запит веб-сервером, сервер, запускається новий процес для обробки цього запиту в одному. Після завершення запиту процес завершує роботу. Процес доступу до дані для того як змінні середовища, які "HTTP_", перед їх ім'я входять заголовки запитів. Таким чином, CGI процеси для запитів, які містять заголовків, яка називається "Проксі-сервер", мають змінну оточення "HTTP_PROXY", які саме значення, що й у заголовок запиту.
Завиток командного рядка, так і бібліотеки використовуються Увімкнення різних типів застосунків, щоб звільнити запити на різні типи серверів, включно з веб-серверів. Бібліотека можна налаштувати за допомогою параметрів командного рядка, або він може читати параметрів конфігурації з змінні оточення хост-процесу. "HTTP_PROXY" – це один із багатьох параметри конфігурації, які використовуються на локон. "HTTP_PROXY" використовується для надсилання HTTP запит через проксі-сервер налаштовано локон. Примітка. Це, не "HTTP_PROXY" відбуватиметься у заголовку запит клієнта. Під час перегортання, розміщену в будь-який процес CGI, а із процесом змінну середовища, яка називається "HTTP_PROXY", локон використовує значення для надсилання необхідні дані через HTTP проксі-сервер, яке значення якого вказано в змінну середовища. Це відбувається, тому що локон очікують, що "HTTP_PROXY" чи директиви конфігурації та не заголовок запиту клієнта.Виправлення помилок
Щоб вирішити цю проблему, не використовуйте CGI на сервері, на якому працює служба IIS. CGI-це інтерфейс значною мірою застарілими замінено на нові і більш знижується продуктивність інтерфейсів. Зокрема, PHP, Python і перейти має відбулася через FastCGI, за допомогою служб IIS. FastCGI не використовувати змінні середовища для клієнта запит заголовки і не мають цієї проблеми. Проте для PHP, деякі застосунки можуть використовувати PHPs getenv() функції для отримання змінні оточення. Навіть якщо PHP не перебуває в будь-який процес CGI, він реплікує CGI поведінки шляхом введення запиту заголовок значення в набір даних, її функції, getenv() . Якщо використовується застосунок PHP, яка отримує HTTP_PROXY таким чином, діють наступні пом'якшення, знявши заголовок значення або відмова запити на ПРОКСІ-заголовок.
За наявності використання CGI будь-яких причин, або блокувати запрошень на заголовок запиту, ім'я "Проксі-сервер", або очистити значення заголовка. Це тому, що "Проксі-сервер" не стандартний запит ім'я заголовок і веб-переглядачі зазвичай не надсилаються його. Для блокування запит, який містить заголовок проксі-сервера (основний рішення), запустіть на такий командний рядок:назвою Appcmd значення в конфігурації /section:requestfiltering / + requestlimits.headerLimits. [заголовок = "проксі" sizelimit = "0"]
Примітка. До appcmd.exe не зазвичай шлях і можна знайти в каталозі %systemroot%\system32\inetsrv Щоб видалити значення заголовка, ви можете використовувати такі правила перезаписування URL-АДРЕС:<system.webServer> <rewrite>
<rules> <rule name="Erase HTTP_PROXY" patternSyntax="Wildcard"> <match url="*.*" /> <serverVariables> <set name="HTTP_PROXY" value="" /> </serverVariables> <action type="None" /> </rule> </rules> </rewrite> </system.webServer>
Примітка. Перезаписування URL-АДРЕС, знаходиться на завантаження надбудови для служб IIS і не входить до складу під час інсталяції служб IIS за промовчанням.