Как удалить заголовок "Client-Peer" (и т. Д.) В nginx с помощью php-fastcgi

Моя настройка:

  • ОС: Ubuntu 11.04
  • HTTP-сервер: nginx 1.2.1
    • скомпилировано с модулем HttpHeadersMore
    • обработка PHP через php-fastcgi
  • (другое нерелевантное программное обеспечение - ruby, python и т. д.)

Моя проблема:

Я пытаюсь полностью замаскировать программное обеспечение, которое обслуживает страницы (частично безопасность, в основном потому, что это весело), ​​мне удалось изменить имя сервера и удалить X-Powered-By заголовок, который добавляет php-fastcgi, но у меня возникают проблемы при удалении трех заголовков:

Client-Date: Thu, 14 Jun 2012 20:32:34 GMT
Client-Peer: 205.186.146.37:80
Client-Response-Num: 1

я использовал more_clear_headers из модуля HttpHeadersMore, но это не имеет никакого эффекта, несмотря на возможность удаления X-Powered-By заголовки.

Это по моему http блок

more_set_headers "Server: Tesco Value";
more_clear_headers "X-Powered-By";
more_clear_headers "Client-*";
more_clear_headers "Client-Date";
more_clear_headers "Client-Response-Num";
more_clear_headers "Client-Peer";
more_clear_headers "X-Pingback";

add_header X-Required-Volume-Setting 11;
add_header X-Required-Speed 88mph;

# NEW: added in thanks to the answer from @kworr - but still doesn't work
fastcgi_hide_header "Client-Date";
fastcgi_hide_header "Client-Response-Num";
fastcgi_hide_header "Client-Peer";

Если вы бежите HEAD slightlymore.co.uk вы увидите, что ни явные, ни подстановочные правила не избавляются от заголовка. Я предполагаю, что эти заголовки установлены после output-header-filter фаза - но я хотел бы знать, есть ли у кого-нибудь больше информации по этому поводу, и особенно, если у кого-то есть решение.

ОБНОВИТЬ

@kworr предположил, что fastcgi_hide_header может быть тем, что я ищу - но все равно не работает. Возможно, это просто моя система?

3 ответа

Эти заголовки вообще не присутствовали в ответе HTTP. Ни nginx, ни php-fpm никогда их не отправляли, поэтому пытаться их блокировать бессмысленно.

Это синтетические заголовки ответов, добавленные к ответу вашего пользовательского агента libwww-perl.

Если вы не хотите их видеть, делайте HTTP-запросы с другой библиотекой, такой как libcurl.

У меня была эта проблема сегодня.

Я решил проблему сfastcgi_paramи оставь пустым('') значение для fastcgi-variable, созданный из префиксаHTTP_+ заголовок запроса в верхнем регистре.

Пример заголовкаClient-Peer:

      fastcgi_param HTTP_CLIENT_PEER '';

Я думаю, что fastcgi_hide_header - это то, что вам действительно нужно.

Другие вопросы по тегам