nginx remove server header
Често съм се питал как facebook.com си скриват Server header-а, тоест :
web2:~# curl -I https://www.facebook.com HTTP/1.1 200 OK Pragma: no-cache X-Frame-Options: DENY Cache-Control: private, no-cache, no-store, must-revalidate Expires: Sat, 01 Jan 2000 00:00:00 GMT X-XSS-Protection: 0 X-Content-Type-Options: nosniff P3P: CP="Facebook does not have a P3P policy. Learn why here: http://fb.me/p3p" Set-Cookie: reg_fb_gate=https%3A%2F%2Fwww.facebook.com%2F; path=/; domain=.facebook.com Set-Cookie: reg_fb_ref=https%3A%2F%2Fwww.facebook.com%2F; path=/; domain=.facebook.com Set-Cookie: reg_ext_ref=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.facebook.com Set-Cookie: datr=redUU4C5xfriseY9srwt472n; expires=Wed, 20-Apr-2016 09:41:01 GMT; path=/; domain=.facebook.com; httponly Content-Type: text/html; charset=utf-8 X-FB-Debug: vLVadCnq65jFMIPA4W/cXrElVE09UTk61wyH+iB5WHU= Date: Mon, 21 Apr 2014 09:41:01 GMT Connection: keep-alive Content-Length: 51718
Не виждаме никакъв Server отговор.
Открих начин как да го постигна с един модул за nginx, наречен headers-more-nginx-module. Готиното тук е, че освен скриването на Server, можем да променяме и името на Server. Опцията може да се слага освен в http, server и в location, тоест можем да променяме името на всеки един от виртуалните ни хостове. Инсталирането е елементарно, и е описано как става тук.
Опцията е:
more_set_headers 'Server: my-server';
А резултата е:
web2:~# curl -I http://friendbg.net HTTP/1.1 200 OK Date: Mon, 21 Apr 2014 09:48:54 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive Vary: Accept-Encoding X-Powered-By: PHP/5.5.11-1~dotdeb.1 X-Pingback: http://friendbg.net/xmlrpc.php Server: my-server X-Friendbg-Cache: HIT'n'RUN X-Content-Type-Options: nosniff P3P: Can I help you? Contact me via http://friendbg.net/contacts/, CP=CAO ADMa DEVa IND PHY ONL UNI COM LOC
Скриването на Server става със слагането на more_clear_headers в nginx.conf:
more_clear_headers Server;
Повече за HttpHeadersModule може да се намери в wiki-то на nginx.org.