一. Nginx基本安全优化
1、调整参数隐藏Nginx软件版本号信息
2、更改远吗隐藏Nginx软件名及版本号
3、更改Nginx服务的默认用户
二. 根据参数优化Nginx服务器性能
1、优化Nginx进程配置
2、优化绑定不同的Nginx进程到不通的CPU上
3、 调整Nginx单个进程允许的客户端最大连接数
4、配置Nginx worker进程最大打开文件数
5、 开启高效文件传输模式
6、优化Nginx连接参数,调整连接超时时间
-
设置参数:
用于设置客户端连接保持回话的超时时间为60秒。超过这个时间,服务器会关闭该连接,此数值为参考值。 -
设置参数:
用于激活tcp_nodelay功能,提供I/O性能。
参数作用:默认情况下当数据发送时,内核并不会马上发送,可能会等待更多的字节组成一个数据包,这样可以提高I/O性能。但是,在每次只发送很少字节的业务场景中,使用tcp_nodelay功能,等待时间会比较长。 -
设置参数:
用于设置读取客户端请求头数据的超时时间。此处的数值15,其单位是秒,为经验参考值。
参数作用:设置读取客户端请求头数据的超时时间。如果超过这个时间,客户端还没有发送完整的header数据,服务器端将返回“Request time out(408)”错误,指定一个超时时间,防止客户端利用http协议进行攻击。 -
设置参数:
用于设置读取客户端请求主体的超时时间,默认值是60。
参考作用:设置读取客户端请求主题的超时时间。这个超时仅仅为两次成功的读取操作之间的一个超时,非请求整个主体数据的超时时间,如果在这个超时时间内,客户端没有发送任何数据,Nginx将返回“Request time out(408)”错误,默认值是60。 -
设置参数:
用于指定响应客户端的超时时间。这个超时仅限于两个连接活动之间的时间,如果超过这个时间,客户端没有任何活动,Nginx将会关闭连接,默认值为60秒,可以改为参考值25秒。
参考作用:设置服务器端传送HTTP响应信息到客户端的超时时间,这个超时仅仅为两次成功握手后的一个超时,非请求整个响应数据的超时时间,如在这个超时时间内,客户端没有接收任何数据,连接将被关闭。
7、上传文件大小的限制(动态应用)
调整上传文件的大小(http Request body size)限制。
在Nginx的主配置文件里加入如下参数:
具体大小根据公司的业务做调整,如果不清楚就先设置为8m。
参数作用:设置最大的允许的客户端请求主体大小,在请求头域有“Content-Length”,如果超过了此配置值,客户端会收到413错误,意思是请求的条目过大,有可能浏览器不能正确显示。设置为0表示禁止检查客户端请求主题大小。此参数对提高服务器端的安全性有一定的作用。
8、 配置Nginx gzip压缩实现性能优化
- 注意:application/javascript 和application/x-javascript的区别。推荐使用application/javascript支持得浏览器更多。
三. Nginx代理location参数
- 微服务必须添加这三个参数: