nginx隐藏版本号

主要步骤为在配置文件中进行开关键入设置,开启版本隐藏即可

server_tokens off为隐藏版本号,默认为on即开启。

nginx 隐藏真是的url nginx隐藏目录_linux

验证效果,开启前:

nginx 隐藏真是的url nginx隐藏目录_nginx 隐藏真是的url_02

开启后:

nginx 隐藏真是的url nginx隐藏目录_nginx 隐藏真是的url_03

修改源码法

Nginx源码文件/usr/src/nginx-1.12.0/src/core/nginx.h包含了版本信息(版本号可能不同),可以随意设置

重新编译安装,隐藏版本信息

示例:

#define NGINX_VERSION “1.1.1”,修改版本号为1.1.1
 #define NGINX_VER “IIS/”,修改软件类型为IIS

重启服务,访问网站使用curl -I 命令检测

可以把该方法视作伪装页面,这样的话,会误导黑客们攻击,从而使得黑客的攻击无效。但是仅仅只是隐藏版本是远远不够的。

nginx 隐藏真是的url nginx隐藏目录_nginx_04

使用nginx的组和用户名来进行nginx的访问和操作
现实中,需要指定nginx的组和用户名来进行登录,即,用非登录用户来操作nginx,这样的话就可以使得nginx处在一个相对来说安全的环境中,因为不是所有人都可以随时使用nginx来进行操作,这样的话就可以一定程度上防止不法分子进行蓄意破坏操作。
主要操作为在编译的时候加入组和名的nginx:

[root@www nginx-1.12.0]# ./configure 
 –prefix=/usr/local/nginx 
 –user=nginx 
 –group=nginx 
 …

重启服务过后,使用ps aux|nginx来查看发生的改变

网页缓存

nginx的网页缓存相对简单,主要为在http里或server里或location里添加如下一段话

location ~ .(gif|jpg|jpeg|png|bmp|swf)$
 {
 expires 30d;
 }
 location ~ .(js|css)$
 {
 expires 1h;
 }

nginx 隐藏真是的url nginx隐藏目录_nginx 隐藏真是的url_05

该意思即为如果检测到是圖片【图片格式则缓存30天,如果是js和css的格式则缓存一个小时。

日志切割

和apache的日志切割不同,nginx的日志切割是通过执行一个脚本的格式来进行的。
随意在任何位置编写一个脚本:

#nginx日志切割脚本
#!/bin/bash
#设置日志文件存放目录
 logs_path="/usr/local/nginx/logs/"#设置pid文件
 pid_path="/usr/local/nginx/logs/nginx.pid"#重命名日志文件
 mv ${logs_path}access.log KaTeX parse error: Expected group after '_' at position 18: …ogs_path}access_̲(date -d “yesterday” +"%Y%m%d").log#向nginx主进程发信号重新打开日志
 kill -USR1 cat ${pid_path}#删除30天之前的日志文件
 find $logs_path -mtime +30 |xargs rm -rf

这样的话,只要每次执行该脚本,就可以主动生成一个日志文件。

nginx 隐藏真是的url nginx隐藏目录_linux_06

当然,不可能每天都手动输入执行脚本,因此我们需要进行周期性计划任务日志。

nginx 隐藏真是的url nginx隐藏目录_linux_07

并且进行日志的自启动

nginx 隐藏真是的url nginx隐藏目录_缓存_08

这样每天的凌晨都可以生成与一个日志,并且会自动删除三十天之前的日志

nginx运行进程数调优

进入配置文件进行如下操作,要注意的是,01 10是他的CPU安插形式,取决于CPU的个数,比如,如果CPU个数为4,那后续按查位置即为0001,0010,0100,1000这样进行排列。

nginx 隐藏真是的url nginx隐藏目录_nginx 隐藏真是的url_09

该主要作用是,有时候一个CPU会同时兼程着另一个进程,我们这么做的目的是能让CPU进行合理的分工安排。

网页压缩功能

同样是在配置文件进行追加

nginx 隐藏真是的url nginx隐藏目录_nginx 隐藏真是的url_10

gzip on; #开启压缩模块
 gzip_min_length 1k; #用于设置允许压缩的最小字节数
 gzip_buffers 4 16k; #表示申请4个单位为16k的内存作为压缩结果流缓存
 gzip_comp_level 5; #用来指定压缩等级,一般5-6就够用了
 gzip_types text/plain; #压缩类型,针对哪些网页文档开启压缩功能
 gzip_vary on; #允许让前端的缓存服务器缓存经过gzip压缩的页面

防盗链操作

配置文件中添加如下几段话

location ~ .(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)$
 {
 valid_referers www.kgc.com kgc.com;
 if ($invalid_referer) {
 return 403;
 }
 }

这几段话的意思是,假设是该域名之外的圖片被进行扒取,那么会直接跳转至403(无访问权限),如果喜欢骚操作一点,也可以跳转至一个无效网页。

nginx 隐藏真是的url nginx隐藏目录_缓存_11

fpm优化

主要操作就是进入php的配置文件进行更改,由于配置都是默认的,有些服务器的配置可能压根就不适合当前版本的奔跑量,所以需要进行fpm的优化。

进入php配置文件中,找到以下几段:

pm.max_children:指定启动的进程数量
 pm.max_children:指定启动的进程数量最大的数量
 pm.start_servers:动态方式下初始的fpm进程数量
 pm.min_spare_servers:动态方式下最小的fpm空闭进程数
 pm.max_spare_servers:动态方式下最大的fpm空闭进程数

nginx 隐藏真是的url nginx隐藏目录_运维_12

pm=dynamic
 pm.max_children=20
 pm.start_servers = 5
 pm.min_spare_servers = 2
 pm.min_spare_servers = 8


如果是内存为1.5G的服务器,那么此操作较为合适,可以根据自身公司企业的服务器配置需求去进行调试。