成功最有效的方法就是向有经验的人学习!

升级nginx模块隐藏头信息

首先获取之前的编译参数,生产环境中应记录好这一数据,同时保留好编译环境。

nginx -V

备份当前的nginx文件

cp /usr/local/nginx/sbin/nginx /opt/nginx.bak.20190522

编译并make

./configure --user=www --group=www --prefix=/usr/local/nginx --add-module=../ngx_cache_purge-2.3 --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module --add-module=../headers-more-nginx-module

我这里添加了一个模块https://github.com/openresty/headers-more-nginx-module

make

然后用/XXX/objs/nginx复制到nginx目录进行覆盖升级。

cp /opt/nginx/objs/nginx /usr/local/nginx/sbin/nginx
kill -USR2 `cat /var/run/nginx.pid`  #在老的进程号基础上启动新的进程
kill -QUIT `cat /var/run/nginx.pid.oldbin`   #正常关闭老进程

到此升级完成。

用法:
去掉这些头信息

more_clear_headers 'X-Powered-By';
more_clear_headers 'X-AspNet-Version';
more_clear_headers 'X-AspNetMvc-Version';

也可以使用下面的方法
proxy_hide_header 与fastcgi_hide_header的使用。

proxy_hide_header在ngx_http_proxy_module下,fastcgi_hide_header在ngx_http_fastcgi_module模块下,作用相同的但是作用的地方有一些区别。

当nginx作为反向代理时,也就是nginx转发请求后端其他webserver(例如nginx+apache)时,当我们想要隐藏后端webserver主机信息的时候,我们使用proxy_hide_header来屏蔽后端主机信息。

当nginx作为webserver时,也就是nginx直接在服务器上提供web服务(例如nginx+php/php-fpm)处理用户请求,当我们想要隐藏webserver主机信息的时候,我们使用fastcgi_hide_header来屏蔽当前主机信息(尤其是php中相关信息)。

proxy_hide_header X-Powered-By;
赞(0) 打赏
未经允许不得转载:陈桂林博客 » 升级nginx模块隐藏头信息
分享到

大佬们的评论 抢沙发

全新“一站式”建站,高质量、高售后的一条龙服务

微信 抖音 支付宝 百度 头条 快手全平台打通信息流

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册