Я обнаружил очень странное поведение веб-браузера на мобильном телефоне Android (я пробовал телефоны HTC Wildfire и HTC Desire).
У меня есть веб-сервер с Nginx v0.8.54. Когда я пытаюсь открыть веб-страницу на телефоне, появляется ошибка:
The requested item could not be loaded! (Status code: 500)
НО это происходит только тогда, когда я запрашиваю страницу через мобильную сеть. На Wi-Fi он работает нормально .... но есть еще кое-что .... если я остановлю Nginx и запустил веб-сервер Apache, он отлично работает как в мобильной сети, так и в Wi-Fi. Я также пробовал другие мобильные сети, и это то же самое.
Некоторая статистика сервера:
Это единственная запись в access.log при запросе страницы:
xxx.xxx.xxx.xxx - - [17 марта 2011: 11: 19: 49 -0500] 200 "GET / HTTP / 1.1" 27405 "-" "Mozilla / 5.0 (Linux; U; Android 2.2; en- gb; Desire_A8181 Build / FRF91) AppleWebKit / 533.1 (KHTML, как Gecko) Версия / 4.0 Mobile Safari / 533.1 "" - "
index.html содержит только строку «Hello World». Нет подозрительного javascript или чего-то еще.
.... но есть даже больше....
если я открываю ту же страницу на другом сервере, с той же сборкой Nginx, с тем же сервером и конфигурацией веб-сервера ... она открывается нормально.
Если у кого-то есть идеи о том, что может происходить, я был бы очень признателен, если бы вы дадите мне знать.
Спасибо!
РЕДАКТИРОВАТЬ: я забыл упомянуть, что страница открывается ОК на Iphone и Nokia
Включите debug_connection для IP вашего телефона (в nginx.conf) и отправьте тестовое соединение. У меня были подобные проблемы, когда мы начали использовать nginx, и это было связано с тем, что стандартные настройки буфера / прокси были слишком малы для некоторых из более крупных запросов, сделанных в наши дни. Возможно, телефон отправляет слишком большой заголовок, и вам просто нужно увеличить эти настройки в вашем .conf. Если неясно, что происходит, обновите вопрос с помощью вывода debug_connection из вашего образца запроса.