linux下nginx的安全优化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下nginx的安全优化相关的知识,希望对你有一定的参考价值。

上节我们说了ApacheWeb服务安全与优化。分别说了进程优化,版本号的隐藏,会话连接的时间,DNS查询。我们只要掌握这些优化点就够了,大家不要一味追求求精,什么都有个度的,你弄的太过了,相应他别的方面也就会不行了,所以我们优化的标准是找一个折衷点,是最好的!接下来我们说下nginxweb服务的安全优化。

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.     隐藏nginxheader里版本号信息 server_tokensoff;

技术分享技术分享2.     更改nginx的默认用户和组技术分享

nginx默认用户是nobody,编译的时候更改为nginx.(注意:这步在我们编译安装的时候已经做了)

3.     配置Nginxworker的进程个数

这个开始根据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的优化我们掌握以上就可以了,在生产中,我们可以根据自己的实际需求来配置各个优化点的参数。是不是很简单啊!童鞋们我们一定要相信自己,如果你不相信自己,你就会觉得他很难!相信自己就不难啦!不是嘛!技术分享


本文出自 “乐乐快跑” 博客,请务必保留此出处http://10851431.blog.51cto.com/10841431/1751757

以上是关于linux下nginx的安全优化的主要内容,如果未能解决你的问题,请参考以下文章

nginx优化_安全方面的优化

Nginx安全优化

Nginx安全优化与性能调优

Nginx常见优化项和优化参数设置详解

安全开发运维必备的Nginx代理Web服务器性能优化与安全加固配置

Nginx安全优化