@ Martin F. Sí, lo hace. Tendrá que compilarlo desde la fuente y cambiar lo que se necesita antes de compilar la fuente.
Supongo que descargó la última versión estable, la descomprimió y sabe dónde están los archivos. Si ese es el caso, haga lo siguiente:
nano src/http/ngx_http_header_filter_module.c
Luego busque la línea 48 si recuerdo correctamente.
static char ngx_http_server_string[] = "Server: nginx" CRLF;
Reemplace nginx con MyWhateverServerNameIWant ej.
static char ngx_http_server_string[] = "Server: MyWhateverServerNameIWant" CRLF;
Entonces
nano src/core/nginx.h
busca la linea
#define NGINX_VER "nginx/" NGINX_VERSION
cambie "nginx /" a "MyWhateverServerNameIWant /" para que se lea
#define NGINX_VER "MyWhateverServerNameIWant" NGINX_VERSION
Finalmente si quieres también cambia el número de versión
busque la línea #define NGINX_VERSION "1.0.4"
y cambie "1.0.4" para cualquier versión que desee. Por ejemplo leerá
#define NGINX_VERSION "5.5.5"
Espero eso ayude. Sin embargo. Asegurar un servidor va mucho más allá de no mostrar lo que se está ejecutando. PHP es inseguro por naturaleza, y también lo es Linux. Por supuesto, Linux puede ser bastante seguro si se toman todas las medidas necesarias para lograr una seguridad decente. En lo que respecta a PHP, recomendaría usar Suoshin para ayudar a fortalecer la seguridad de su código.