版本安全
IP安全
http { server_tokens off; }
白名单配置:
location / {
allow 192.168.136.1;
deny all;
}
黑名单设置:
location / {
deny 192.168.136.1;
allow all;
}
文件安全
location /logs {
autoindex on;
root /opt/nginx/;
}
location ^/logs~*.(log|txt)$ {
add_header Content-Type text/plain;
root /opt/nginx/;
}
连接安全 HTTPS开启
Nginx配置进程数、并发数、系统优化
调整Nginx的主配置文件,增加并发量
worker_processes 2; #调整到与CPU数量一致
events {
worker_connection 65535; #每个worker最大并发连接数
}
l 调整内核参数
[root@proxy ~]# ulimit -a #查看所有的属性值
[root@proxy ~]# ulimit -Hn 100000 #临时设置硬限制
[root@proxy ~]# ulimit -Sn 100000 #设置软限制
[root@proxy ~]# vim /etc/security/limits.conf
...
- soft nofile 100000
- hard nofile 100000
用户/组 软/硬限制 需要限制的项目 限制的值
验证 [root@proxy ~]# ab -n 2000 -c 2000 http://192.168.136.131/ #自己访问自己,测试一下配置效果
高并发下Nginx长连接
l nginx长连接短连接,可以增强服务器的容灾能力
l 场景:
HTTP1.1之后,HTTP协议支持持久连接,也就是长连接,优点在于在一个TCP连接上可以传送多个HTTP请求和响应,
减少了建立和关闭连接的消耗和延迟。如果我们使用了nginx去作为反向代理或者负载均衡,从客户端过来的长连接请求就会被转换
成短连接发送给服务器端,为了支持长连接,我们需要在nginx服务器上做一些配置
l 要求:
使用nginx时,想要做到长连接,我们必须做到以下两点:
1:从client到nginx是长连接
2:从nginx到server是长连接
对于客户端而言,nginx其实扮演着server的角色,反之,之于server,nginx就是一个client
l 配置:
我们要想做到Client与Nginx之间保持长连接,需要:
1:Client发送过来的请求携带"keep-alive"header。
2:Nginx设置支持keep-alive