Недавно узнал, что сайт, поднятый на nginx невозможно открыть через squid. Возникает ошибка:
Получен недопустимый ответ при попытке обработки запроса:
GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Ответ HTTP, полученный от сервера, не может быть распознан, или он был неверно сформирован. Пожалуйста, свяжитесь с оператором сайта.
Погуглив по интернету, пришёл к выводу, что squid не понимает какие-то из заголовков nginx. Поставил squid-у debug_options = ALL,9 и нашёл вот такое:
2013/03/23 20:41:14.504| parsing hdr: (0x7fc3951b20a0)
Server: nginx/1.2.4
Date: Sat, 23 Mar 2013 16:41:12 GMT
Content-Type: text/html
Content-Length: 612
Connection: keep-alive
ETag: "50ee84d5-264"
Set-Cookie: PHPSession=1;path=/
2013/03/23 20:41:14.504| WARNING: HTTP header contains NULL characters {Server: nginx/1.2.4
Date: Sat, 23 Mar 2013 16:41:12 GMT
Content-Type: text/html
Content-Length: 612
Connection: keep-alive
ETag: "50ee84d5-264"
Set-Cookie: PHPSession=1;path=/}
NULL
{Server: nginx/1.2.4
Date: Sat, 23 Mar 2013 16:41:12 GMT
Content-Type: text/html
Content-Length: 612
Connection: keep-alive
ETag: "50ee84d5-264"
Set-Cookie: PHPSession=1;path=/
2013/03/23 20:41:14.504| cleaning hdr: 0x7fc3951b20a0 owner: 3
2013/03/23 20:41:14.504| init-ing hdr: 0x7fff25ed34c0 owner: 3
2013/03/23 20:41:14.504| cleaning hdr: 0x7fff25ed34c0 owner: 3
2013/03/23 20:41:14.504| cbdataFree: 0x7fc395192738
2013/03/23 20:41:14.504| cbdataFree: Freeing 0x7fc395192738
2013/03/23 20:41:14.504| cleaning hdr: 0x7fc3951b20a0 owner: 3
2013/03/23 20:41:14.504| 0x7fc3951b20a0 lookup for 41
2013/03/23 20:41:14.504| 0x7fc3951b20a0 lookup for 9
2013/03/23 20:41:14.504| 0x7fc3951b20a0 lookup for 23
2013/03/23 20:41:14.504| HttpMsg::parse: cannot parse isolated headers in 'HTTP/1.1 200 OK
Server: nginx/1.2.4
Date: Sat, 23 Mar 2013 16:41:12 GMT
Content-Type: text/html
Content-Length: 612
Connection: keep-alive
ETag: "50ee84d5-264"
Set-Cookie: PHPSession=1;path=/'
2013/03/23 20:41:14.504| processReplyHeader: Non-HTTP-compliant header: 'HTTP/1.1 200 OK
Server: nginx/1.2.4
Date: Sat, 23 Mar 2013 16:41:12 GMT
Content-Type: text/html
Content-Length: 612
Connection: keep-alive
ETag: "50ee84d5-264"
Set-Cookie: PHPSession=1;path=/'
Откуда в заголовке взялся NULL? Что не понимает в етом ответе squid?