Apache, mod_proxy и обратное проксирование серверной части IIS6 под управлением .net 4

У меня действительно странная проблема. У меня есть внутренний сервер IIS6. Если сайт в IIS настроен на .net 2.0 / 3 / 3.5, тогда apache отлично справится. Если сайт настроен на .net 4.0, apache обслуживает 400 неверных запросов. Я прикрепил заголовки http и вижу, что выбран правильный apache и правильный сервер iis, а также правильный сайт на сервере iis. Если я иду прямо на сервер, он отлично работает в обоих режимах. Это просто комбинация подключения apache (https) к IIS6 (http), на котором запущен сайт .net 4.0.

Вот несколько примеров пакетов

Неудачный запрос

GET http://www.domain.com/ HTTP/1.1
Host: www.domain.com
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.127 Safari/534.16
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Via: 1.1 domain.com
X-Forwarded-For: [ipaddress]
X-Forwarded-Host: www.domain.com
X-Forwarded-Server: domain.com
Connection: Keep-Alive

Неудачный ответ

HTTP/1.1 400 Bad Request
Connection: close
Date: Fri, 11 Mar 2011 02:24:34 GMT
Content-Type: text/html; charset=utf-8

Рабочий запрос

GET / HTTP/1.1
Host: www.domain.com
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.127 Safari/534.16
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Connection: Keep-Alive

Рабочий ответ

HTTP/1.1 302 Found
Date: Fri, 11 Mar 2011 02:29:12 GMT
Location: /Account/Login/?ReturnUrl=%2f
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 146

Эти два запроса относятся к одному и тому же сайту, один через прокси, другой напрямую. Единственное, что я вижу сколько-нибудь значимо, - это ценность каждого получения. Один - это путь, а другой - область и путь. Но, как я уже упоминал, все, что мне нужно сделать, это переключить веб-сайт в IIS6 на использование среды выполнения 2.0, а не среды выполнения 4.0.

У кого-нибудь есть идеи о том, в чем может быть проблема?


person cdmdotnet    schedule 10.03.2011    source источник
comment
Я также должен упомянуть, что я могу получить доступ к сайту с сервера apache   -  person cdmdotnet    schedule 10.03.2011
comment
Я подумал, что это может иметь какое-то отношение к stackoverflow.com/questions/948428/. но изменение этих настроек не сильно помогло   -  person cdmdotnet    schedule 11.03.2011


Ответы (1)


Ответом на этот вопрос была ошибка в конфигурации виртуального хоста в apache. Мне пришлось закомментировать директиву ProxyRemote, которая была у меня по ошибке.

person cdmdotnet    schedule 11.03.2011