如何自定义您的Nginx服务器名称从源代码编译在之后的CentOS

介绍

本教程可以帮助您在主机上定制服务器的名称。通常,公司出于安全原因修改服务器名称。如果在特定版本的网络服务器中发现漏洞,黑客可以复制该漏洞以利用此行为。 自定义nginx服务器的名称需要修改源代码(本教程将指导您逐步),并需要从前一篇文章重新编译。

查找服务器的版本

curl -I http://example.com/

HTTP/1.1 200 OK
Server: nginx/1.5.6 # <-- this is the version of nginx you currently use
Date: Thu, 17 Nov 2013 20:40:18 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 17 Nov 2013 20:37:02 GMT
Connection: keep-alive
ETag: "51f18c6e-264"
Accept-Ranges: bytes

更改Nginx服务器字符串

从上一个教程回到nginx源目录。你应该看看前面的教程从源代码编译的“下载源代码”部分之后。
cd ~/src/nginx/
vi +49 src/http/ngx_http_header_filter_module.c
查找行:
static char ngx_http_server_string[] = "Server: nginx" CRLF;
static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;
并修改为:
static char ngx_http_server_string[] = "Server: the-ocean" CRLF;
static char ngx_http_server_full_string[] = "Server: the-ocean" CRLF;

使用新选项重新编译Nginx

您需要按照本指南来看看配置选项,或从你的命令行历史搜索:
./configure ... 
make
make install

停止在配置中显示服务器版本

vi +19 /etc/nginx/nginx.conf
添加http配置下的行。如果您有部分,请为https重复
http {
...
server_tokens off;
....

重新启动Nginx服务

我们需要重新启动nginx,因为nginx文件已经改变:
service nginx restart

验证结果

让我们验证我们现在是否看到服务器信息:
curl -I http://example.com/

HTTP/1.1 200 OK
Server: the-ocean
Date: Thu, 17 Nov 2013 20:50:17 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 17 Nov 2013 20:37:02 GMT
Connection: keep-alive
ETag: "51f18c6e-264"
Accept-Ranges: bytes
作者:Sairam Kunala
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

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

支付宝扫一扫打赏

微信扫一扫打赏