Назад | Перейти на главную страницу

Почему в журнале apache запрашивается GET http://www.google.com с кодом 200?

Меня недавно спросили: «Что вызывает такую ​​строку в нашем журнале access.log?»

59.56.109.181 - - [22 / Фев / ​​2010: 16: 03: 35 -0800] «ПОЛУЧИТЬ http://www.google.com/ HTTP / 1.1 "200 295" - "" Mozilla / 5.0 (совместимый; MSIE 5.01; Win2000) "

Мой немедленный ответ: кто-то исследует кое-что немного хитрое.

Но:

Это на стандартном сервере LAMP (Ubuntu).

Может ты хочешь читать http://wiki.apache.org/httpd/ProxyAbuse

особенно этот пункт: «Мой сервер правильно настроен не для прокси, так почему Apache возвращает код состояния 200 (Успешно)?», он задает ваш вопрос: «Разве это не должен быть ответ 404, а не 200 !?»

Если apache conf в порядке, он просто отправляет корневую страницу. Причина в том, что вы получаете код статуса 200.

Думаю, это произойдет, если кто-то попытается использовать сервер в качестве прокси. Это сделает URL http: // ... "нормальным" (в отличие от просто части пути, которую можно ожидать от обычного запроса сервера.)

Что касается кода состояния 200, это ... эээ ... ну, мой сервер тоже это делает. Кажется, игнорирует http: // имя хоста часть и возвращает результат с локального сервера, используя оставшийся путь. Вам, вероятно, придется покопаться в RFC, чтобы понять, почему это имеет смысл; Я не знаю ответа навскидку.