那么有没有办法在 Nginx 上隐藏 X-Powered-By 呢?
7 回答
proxy_hide_header X-Powered-By;
x-powered-by 由模块给出,例如 php fastcgi 模块提供expose_php=Off
在 php.ini中设置
fastcgi_hide_header X-Powered-By
或proxy_hide_header X-Powered-By
在 http/server 上下文中
如果你将 NGINX 与 FastCGI 一起使用,你应该使用:
fastcgi_hide_header X-Powered-By;
尝试使用nginx 的 HttpHeadersMoreModule 中的 more_clear_headers 指令,它可以让您声明:
more_clear_headers 'X-Powered-By';
这应该做你想要的。
Nginx
打开这个文件
$
sudo vi /etc/nginx/nginx.conf
找到 HTTP 部分,这部分定义了 Nginx 的 HttpCoreModule 的配置。添加以下指令:
$
server_tokens off;
这将配置 Nginx 不在 HTTP 标头中发送任何版本号。
(删除服务器名称是可能的,但是,由于 Nginx 模块无法动态加载,您需要使用 HttpHeadersMoreModule Nginx 模块从源代码重新编译 Nginx。)
重新加载 Nginx 配置要应用更改,请重新加载 Nginx 服务:
$
sudo service nginx reload
PHP
出于服务器安全原因,建议您禁用或隐藏此信息,以免攻击者可能通过想知道您是否在运行 PHP 来瞄准您的服务器。
步骤1。
$ `sudo nano /etc/php.ini`
找到关键字expose_php并将其值设置为Off:
$
expose_php = off
如果您将 PHP 作为 FPM 运行,那么您需要重新加载 PHP-FPM
$
sudo service php-fpm reload
重新加载后,响应头X-Powered-By: PHP/7.2应该会丢失。
#nano /etc/nginx/nginx.conf
评论这一行
more_clear_headers 'X-Powered-By';
并重启 Nginx