Есть ли в IIS встроенный секретный, незарегистрированный, прозрачный, чувствительный к регистру прокси?
На веб-сервере существует файл:
GET http://www.stackoverflow.com/javascript/ModifyQuoteArea.js HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: en-US
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: www.stackoverflow.com
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 29246
Date: Mon, 07 Mar 2011 14:20:07 GMT
Content-Type: application/x-javascript
ETag: "5a0a6178edacb1:1c51"
Server: Microsoft-IIS/6.0
Last-Modified: Fri, 02 Tue 2010 17:03:32 GMT
Accept-Ranges: bytes
X-Powered-By: ASP.NET
...
Проблема в том, что изменения, внесенные в файл, не будут обработаны, старый (т.е. февраль прошлого года) продолжает обслуживаться версия:
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 29246
Date: Mon, 07 Mar 2011 14:23:07 GMT
Content-Type: application/x-javascript
ETag: "5a0a6178edacb1:1c51"
Server: Microsoft-IIS/6.0
Last-Modified: Fri, 02 Tue 2010 17:03:32 GMT
Accept-Ranges: bytes
X-Powered-By: ASP.NET
...
Обслуживается тот же старый файл, хотя мы:
Запрос на этот файл не отображается в журналах IIS (например, C:\WINNT\System32\LogFiles\W3SVC7\
)
И это происходит только извне (то есть через Интернет). Если вы отправите запрос локально на сервере, вы:
Но если я изменю кейс запрошенного ресурса, то есть:
GET http://www.stackoverflow.com/javascript/MoDiFyQuOtEArEa.js HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: en-US
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: www.stackoverflow.com
Примечание:
MoDiFyQuOtEArEa.js
стихиModifyQuoteArea.js
Затем я делать получить нужный файл (или получить 404, как я ожидаю, если файл будет переименован или удален).
Но любые последующие изменения в файле не будут отображаться, пока я не изменю регистр файла, который я прошу.
Журналы IIS не показывают активности, когда веб-сайт обслуживает один из таинственных кэшированных файлов. Запросы для других (например, ASP) файлов (или с использованием изменение-запрошенный-ресурс-случай-обход-прозрачный-кеш трюк) отображаются в журналах IIS и показывают правильный IP-адрес исходного клиента (то есть не адрес какого-то таинственного промежуточного прокси).
это не звучит так, будто Microsoft или IIS сделали бы: - прозрачный прокси? - случайная чувствительность? - незарегистрированный? - выжившие перезапуски IIS? - часами выжить в тайнике?
не могу поверить, что IIS нашего клиента делают эти вещи. Я предполагаю, что перед IIS есть другой прозрачный прокси.
Или есть ли в IIS:
прокси, который кеширует контент не менее 7 часов?
Если запрос не отображается в журналах IIS, значит, он где-то обслуживается кешем, либо локальным кешем клиента, либо кешем (прокси) где-то в цепочке запросов.
Посмотрите заголовки ответа на запрос на стороне клиента и посмотрите, есть ли Via:
заголовки там. А Via:
Заголовок указывает, что в цепочке есть прокси и должен быть один заголовок для каждого прокси в цепочке (при условии, что прокси работают). Если вы видите один или несколько, значит, контент обслуживается из кеша.
Попробуйте curl -v http://www.stackoverflow.com/javascript/ModifyQuoteArea.js, если вы все еще видите старую версию, это неверно настроенный / несовместимый с HTTP кеш на пути от клиента к серверу. Если вы увидите текущую версию, обвинят ваш браузер
Прежде чем надеть шляпу из фольги и заявить, что должен быть суперсекретный прокси, о котором никто не знает, я бы попросил клиента проверить настройки своего браузера. Если они используют IE, это звучит как «Проверять наличие новых версий сохраненных страниц: никогда» (также может быть «Каждый раз, когда я запускаю IE», если клиент еще не перезапустил IE в рамках устранения неполадок).
Ооочень ответ - "не должно".
Более длинный ответ в форме вопроса: поведение прокси, которое вы показываете, есть очень как прокси, поскольку имя хоста является частью запроса. Вы относитесь к серверу как к прокси-серверу или просто перехватываете трафик с прокси?
Обычно, когда клиенты запрашивают контент, они запрашивают относительный URL-адрес и предоставляют заголовок Host :.
Клиент запрашивает у прокси-сервера http://fullsomethingname.fqdn.com только когда цель настроена как прокси, и раньше мне приходилось отлаживать странное поведение на основе этого.
Итак, исходя из этого, мы можем с некоторой уверенностью сказать, что у вас есть прокси-сервер. Считается Fiddler, который работает как прокси.
Я бы посоветовал, например, Ochoto, попробовать Curl, или WFETCH, или WGET, или любой другой простой клиент, работающий без прерывания WinInet или IE's-browser-settings или-proxy-cache абсолютно определенный.
Собственно, если вам нужна абсолютная уверенность:
Если вы действительно хотите, вы также можете добавить трассировку HTTP.SYS, на всякий случай.
Если
Затем, затем, затем затемОй, извините, я потерял ход мыслей.