实验环境:CentOS 7虚拟机 ,ip 192.168.239.128(网卡为NAT模式)

                 一台win7虚拟机做为客户机进行访问(网卡为NAT模式)

                 这里的nginx为手工编译安装,具体过程我在前面的博客中已经做过,这里就不在显示安装过程


nginx源码包:https://pan.baidu.com/s/1AY1tcVTos9dd6y6FH9Qk-A  密码:fh14

抓包工具:链接:https://pan.baidu.com/s/1J4H1YJMKDXZBe95UBs53_g 密码:1226


一 隐藏版本号:在生产环境中,需要隐藏Nginx的版本号,以避免泄露Nginx的版本,使×××者不能针对特定版本进行×××

1.jpg

2.jpg

3.jpg

4.jpg

1 首先我用上图的命令查看了一下nginx的版本,这里面有很详细的版本信息

2 要想隐藏版本信息,我需要在主配置文件的http下添加“server_tokens off”,表示关闭版本信息

3 重启nginx服务再次对版本进行查看,发现版本信息已经不再显示了


5.jpg

6.jpg

7.jpg

8.jpg

9.jpg

10.jpg

隐藏版本号的第二种方法:更改源代码文件

1 找到源代码文件,我在手工编译时将它解压到了opt/目录下,所以我就要在这个目录下找这个文件

2 找到nginx.h这个文件后进去可以看到,里面有详细的版本信息,这里我将它改为一个虚假的信息

3 更改完成后我需要重新进行编译

4 编译安装完成后我还需要到主配置文件中添加“server_tokens on”,表示显示版本号

5 重启服务后,我再次查看版本号,这里显示的的是我设置的假的版本号从而隐藏了真实的版本号


设置管理用户和组,设置网页缓存时间

11.jpg

12.jpg

13.jpg

14.jpg

15.jpg

x.jpg

1在编译之前我其实已经创建好了管理用户和管理组,这里也可以到主配置文件中进行更改,第一个表示管理用户,第二个表示管理组

2 设置网页缓存时间,同样在主配置文件中,在location模块下加入一个新的模块,这里要注意书写格式,这里我将缓存时间设为一天

3 接着我再网站的首页中加入一张图片作为测试页面


16.jpg

17.jpg

最后我用win7客户机进行访问,在用抓包工具获取详细信息,通过抓包工具可以看到,这里显示的缓存时间为一天