企业级Nginx Web服务优化实战

Posted by Yancy on 2016-08-23

企业级Nginx Web服务优化实战

前言:

在运维工作已经3个年,运维岗位:对web服务是必须要会的,这次我对Nginx Web服务做一次优化总结,上次记得写博客是对Nginx配置详解和服务的高可用。希望写的对你看到我博客的人有所帮助。

1.1 Nginx 基本安全优化
1.1.2 调整参数隐藏Nginx软件版本号信息

这里说隐藏版本号重要性软件出现漏洞跟版本特别有关系,我们尽可能隐藏或消除web服务队访问用户显示各类敏感信息,这样恶意要攻击你的用户就很难猜到他攻击的服务所用的是否有特定的漏洞的软件,或者是否有对应漏洞的某一特定版本,从而加强了Web服务的安全性。

例子:

1
2
3
4
5
6
7
8
9
10
[root@nginx ~]# curl -I 127.0.0.7
HTTP/1.1 200 OK
Server: nginx/1.9.7 #<--这里清晰地暴露了web版本号(1.9.7)以及软件名称(Nginx)
Date: Sat, 08 Apr 2017 08:15:59 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 19 Nov 2015 05:50:20 GMT
Connection: keep-alive
ETag: "564d631c-264"
Accept-Ranges: bytes

如何隐藏可以通过配置文件加参数来实现:

在Nginx配置文件Nginx.conf 中的server标签🏷内加入“server_tokens off”参数,具体查看如下:

1
2
3
4
5
6
7
8
9
10
server {
listen 80;
server_name localhost;
server_tokens off;
location / {
root html;
index index.html index.htm;
limit_req zone=one;
}

配置完成后保存,重新加载配置文件,再次curl查看:

 [root@nginx ~]# curl -I 127.0.0.7
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 08 Apr 2017 08:20:31 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 19 Nov 2015 05:50:20 GMT
Connection: keep-alive
ETag: "564d631c-264"
Accept-Ranges: bytes