Jeśli chciałbyś zmienić serwer string pokazywany przy każdym requeście, to może być how to dla ciebie ;)
nginx zazwyczaj odpowiada w taki sposób:
HTTP/1.1 200 OK
Date: Tue, 06 Jul 2010 08:14:19 GMT
Server: nginx/0.7.67
Aby się go pozbyć trzeba edytować źródło, a potem przekompilować. Pliki, które wymagają drobnych modyfikacji znajdują się w:
src/core/nginx.h
src/http/ngx_http_header_filter_module.c
conf/fastcgi_params
Jeśli nie chcecie ręcznie ich modyfikować, skorzystajcie ze skryptu który napisałem. Aby go użyć, wystarczy zapisać go jako script.sh, zmienić uprawnienia chmod u+x i wykonać: ./script.sh <katalog_ze_źródłem_nginx>. Rzućcie okiem, potestujcie i dajcie znać, jakby coś nie działało. Miłego!
#!/bin/bash DIR=${1} SERVERNAME=Paranoid SERVERVERSION=0.4.2 if [[ $# < 1 ]]; then echo "`basename ${0}` {dir}" echo -e "\n\tExample: `basename ${0}` nginx-0.7.64" exit 1 fi if [[ -e ${DIR}/src/core/nginx.h ]]; then sed -i "/#define NGINX_VERSION/ s,\"[^\"]*\",${SERVERVERSION}," ${DIR}/src/core/nginx.h sed -i "/#define NGINX_VER/ s,nginx,${SERVERNAME}," ${DIR}/src/core/nginx.h sed -i "/#define NGINX_VAR/ s,\"NGINX\",\"`echo ${SERVERNAME}| tr \"[a-z]\" \"[A-Z]\"`\"," ${DIR}/src/core/nginx.h else echo "Can not find ${DIR}/src/core/nginx.h" fi if [[ -e ${DIR}/src/http/ngx_http_header_filter_module.c ]]; then sed -i "s,Server: nginx,Server: ${SERVERNAME}," ${DIR}/src/http/ngx_http_header_filter_module.c else echo "Can not find ${DIR}/src/http/ngx_http_header_filter_module.c" fi if [[ -e ${DIR}/conf/fastcgi_params ]]; then sed -i "s,nginx/$nginx_version,${SERVERNAME}/$nginx_version," ${DIR}/conf/fastcgi_params else echo "Can not find ${DIR}/conf/fastcgi_params" fi