您的位置:首页 > 运维架构 > Nginx

linux下nginx的安全优化

2016-03-16 14:44 435 查看
上节我们说了Apache的Web服务安全与优化。分别说了进程优化,版本号的隐藏,会话连接的时间,DNS查询。我们只要掌握这些优化点就够了,大家不要一味追求求精,什么都有个度的,你弄的太过了,相应他别的方面也就会不行了,所以我们优化的标准是找一个折衷点,是最好的!接下来我们说下nginx的web服务的安全优化。Nginx的安全优化原理跟Apache大致一样的,有一些细微的差别,和更改参数的地方不同而已!
在说优化nginx之前我们先了解下他的结构:


Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。Nginx的模块从结构上分为核心模块、基础模块和第三方模块:核心模块:HTTP模块、EVENT模块和MAIL模块基础模块:HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块和HTTP Rewrite模块,第三方模块:HTTP Upstream Request Hash模块、Notice模块和HTTP Access Key模块。


一配置文件优化
1. 隐藏nginx的header里版本号信息 server_tokensoff;




2. 更改nginx的默认用户和组


nginx默认用户是nobody,编译的时候更改为nginx.(注意:这步在我们编译安装的时候已经做了)3. 配置Nginx的worker的进程个数
这个开始根据CPU个数来做参考,随后根据业务设定。 worker_processes 5;修改此4. 根据cpu核数进行优化nginx进程
worker_cpu_affinity0001 0010 0100 1000; 这个是四核cpu优化5. nginx事件处理模型优化
events { worker_connections 1024; use epoll;} 6. 调整nginx单个进程允许连接最大客户数
worker_connections 20480;已经不小了


7.设置连接超时时间
keepalive_timeout 60;
8.配置nginx gzip压缩功能


配置nginx gzip压缩功能###优化重点###
http {
server_tokens off;
gzip on;
gzip_min_length 1k;
gzip_http_version 1.1;
gzip_buffers 4 32k;
gzip_comp_level 9;
gzip_types application/javascript text/css text/xml;
gzip_vary on;
注意:gzip_types对应的文件类型在安装目录下的mime.type 文件



10.配置Nginx expires缓存功能


缓存expires 优化
expirse是指当客户访问网站的时候,文件在客户端存放多久。这个是服务器决定的,就是通过他实现的
在nginx里配置就是放在location里
expires 30d;



Nginx的优化我们掌握以上就可以了,在生产中,我们可以根据自己的实际需求来配置各个优化点的参数。是不是很简单啊!童鞋们我们一定要相信自己,如果你不相信自己,你就会觉得他很难!相信自己就不难啦!不是嘛!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 优化 nginx