nginx 详解(nginx讲解)
nginx 详解
https配置步骤:
1、申请SSL证书;
2、在Nginx服务器上面安装SSL证书:
(1)将证书文件(.crt文件)放到指定目录下,例如:/usr/local/nginx/conf/cert
(2)将私钥文件(.key文件)放到指定目录,例如/usr/local/nginx/conf/ssl
(3)若为CA机构签发证书,需要将中间证书文件放到指定目录下,例如/usr/local/nginx/conf/certs
3、修改Nginx配置文件:
(1)打开/etc/nginx/nginx.conf文件
(2)在http部分增加如下配置
ssl on;
ssl_certificate /usr/local/nginx/conf/cert/xxx.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/xxx.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
(3)如果是CA证书,还需要增加配置
ssl_client_certificate /usr/local/nginx/conf/certs/xxx.crt;
4、重新加载Nginx配置文件:nginx -s reload
5、测试配置是否正确:
(1)curl -k https://www.xxx.com (测试https是否正常)
(2)openssl s_client -connect www.xxx.com:443 (检查ssl证书是否安装正确)
nginx讲解
TCP 配置是 Nginx 中一个比较关键的属性,它可以控制 Nginx 传输协议。当配置 Nginx 时,需要注意以下几点:
1. Nginx 中的 tcp 配置有三个参数:接收缓冲区大小(rcvbuf)、发送缓冲区大小(sndbuf)和最后一次活动(linger)。
2. 接收缓冲区和发送缓冲区的大小的单位都是字节,且一般都要大于或等于4K,通常情况下,接收缓冲区要大于发送缓冲区。
3. linger 有三个属性,即: on(开启)、off(关闭)和 timeout(超时),当开启时,Nginx 在服务器关闭连接之前,会将发送缓冲区中的未完成数据发送出去,而 timeout 属性则可以设定超时时间,默认超时时间为0,即Nginx不会考虑超时时间。
4. 在配置 Nginx 时,要根据实际情况调整 tcp 参数,以获得最佳性能。
nginxs
ngix是一个代理服务器,一般适用于公司内部的测试运用,而weblogic是真实项目运用的服务器,稳定想要高一点
nginx!
1、二者最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程 。nginx处理静态文件好,耗费内存少.但无疑apache仍然是目前的主流,有很多丰富的特性.所以还需要搭配着来.当然如果能确定nginx就适合需求,那么使用nginx会是更经济的方式。
2、nginx的负载能力比apache高很多。最新的服务器也改用nginx了。而且nginx改完配置能-t测试一下配置有没 有问题。
3、apache重启的时候发现配置出错了,会很崩溃,改的时候都会非常小心翼翼现在看有好多集群站,前端nginx抗并发,后端apache集群, 配合的也不错。
4、nginx处理动态请求是鸡肋,一般动态请求要apache去做,nginx只适合静态和反向。
5、从经验来看,nginx是很不错的前端服务器,负载性能很好,nginx,用webbench模拟10000个静态文件请求毫不吃力。 apache对php等语言的支持很好,此外apache有强大的支持网络,发展时间相对nginx更久,bug少但是apache有先天不支持多核心处理负载鸡肋的缺点,建议使用nginx做前端,后端用apache。大型网站建议用nginx自代的集群功能。
6、大部分情况下nginx都优于APACHE,比如说静态文件处理、PHP-CGI的支持、反向代理功能、前端 Cache、维持连接等等。在Apache+PHP(prefork)模式下,如果PHP处理慢或者前端压力很大的情况下,很容易出现Apache进程数 飙升,从而拒绝服务的现象。
7、Apache在处理动态有优势,Nginx并发性比较好,CPU内存占用低,如果rewrite频繁,那还是Apache吧!
8、一般来说,需要性能的web 服务,用nginx 。如果不需要性能只求稳定,那就apache 吧。
nginx的概念
每一项的具体含义如下所示:
attacklog = "on" --是否开启攻击日志记录(on 代表开启,off 代表关闭。下同)
logdir = "/www/wwwlogs/waf/" --攻击日志文件存放目录(一般无需修改)
UrlDeny="on" --是否开启恶意 url 拦截
Redirect="on" --拦截后是否重定向
CookieMatch="off" --是否开启恶意 Cookie 拦截
postMatch="off" --是否开启 POST 攻击拦截
whiteModule="on" --是否开启 url 白名单
black_fileExt={"php","jsp"} --文件后缀名上传黑名单,如有多个则用英文逗号分隔。如:{"后缀名1","后缀名2","后缀名3"……}
ipWhitelist={"1.0.0.1"} --白名单 IP,如有多个则用英文逗号分隔。
如:{"1.0.0.1","1.0.0.2","1.0.0.3"……} 下同
ipBlocklist={"1.0.0.1"} --黑名单 IP
CCDeny="off" --是否开启 CC 攻击拦截
CCrate="300/60" --CC 攻击拦截阈值,单位为秒。
"300/60" 代表 60 秒内如果同一个 IP 访问了 300 次则拉黑
配置文件中,RulePath 项对应的文件夹里存放的是具体的拦截规则。
打开这个文件夹,可以看到里面有一些无后缀名的规则文件
其中每一个文件的作用如下:
args --GET 参数拦截规则
blockip --无作用
cookie --Cookie 拦截规则
denycc --无作用
post --POST 参数拦截规则
returnhtml --被拦截后的提示页面(HTML)
url --url 拦截规则
user-agent --UA 拦截规则
whiteip --无作用
whiteurl --白名单网址
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.