upstream mirror_interface2 {
server 10.3.1.1:9090;
check interval=3000 rise=2 fall=5 timeout=2000 type=http;
check_http_send “HEAD / HTTP/1.0\r\n\r\n”;
check_http_expect_alive http_2xx http_3xx http_4xx;
}
server {
listen 80;
server_name xxx;
access_log logs/bd-interface.log access_json;
charset utf8;
client_max_body_size 800M;
gzip on;
gzip_min_length 5k;
gzip_comp_level 8;
gzip_types application/javascript text/css text/javascript image/jpeg image/gif image/png application/json;
proxy_read_timeout 600s;
proxy_connect_timeout 600s;
proxy_send_timeout 600s;
location / {
mirror /mirror1;
mirror /mirror2; #两份镜像
mirror_request_body on;
proxy_http_version 1.1;
proxy_pass http://bd_interface;
proxy_next_upstream http_500 http_502 http_503 http_504 http_403 http_404 http_429 error timeout invalid_header non_idempotent;
proxy_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 20;
proxy_read_timeout 1000;
proxy_send_timeout 300;
proxy_buffer_size 64k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
}
location /mirror1 {
internal; #只有内部请求可以调用
proxy_pass http://127.0.0.1:10991$request_uri; #配置镜像日志,mirror本身不支持日志
proxy_set_header X-Original-URI $request_uri;
}
location /mirror2 {
internal; #只有内部请求可以调用
proxy_pass http://127.0.0.1:10992$request_uri; #配置镜像日志,mirror本身不支持日志
proxy_set_header X-Original-URI $request_uri;
}
#状态监控
location /nginx_status {
stub_status on;
access_log off;
}
#状态监控
location /check_status {
check_status;
access_log off;
}
}
server {
listen 10992;
server_name 127.0.0.1;
client_max_body_size 800M;
proxy_read_timeout 600s;
proxy_connect_timeout 600s;
proxy_send_timeout 600s;
access_log logs/bd-interface.log access_json;
location / {
proxy_http_version 1.1; #流量和并发大时必须使用http1.1
proxy_pass http://mirror_interface2;
}
}
server {
listen 10991;
server_name 127.0.0.1;
client_max_body_size 800M;
proxy_read_timeout 600s;
proxy_connect_timeout 600s;
proxy_send_timeout 600s;
access_log logs/bd-interface.log access_json;
location / {
proxy_http_version 1.1;#流量和并发大时必须使用http1.1
proxy_pass http://mirror_interface1;
}
}
#### Nginx流量拷贝的注意事项
mirror\_request\_body/proxy\_pass\_request\_body与Content-Length需配置一致。如果`mirror_request_body`或者`proxy_pass_request_body`设置为 `off`,则`Content-Length`必须设置为`""`,因为`nginx(mirror_request_body)`或`tomcat(mirror_request_body)`处理post请求时,会根据`Content-Length`获取请求体,如果`Content-Length`不为空,而由于`mirror_request_body`或者`proxy_pass_request_body`设置为`off`,处理方以为post有内容,当`request_body`中没有,处理方会一直等待至超时。`mirror_request_body`为`off`,`nginx`会报`upstream`请求超时;`proxy_pass_request_body`为off,tomcat会报异常。
#### 参考文章
[Nginx流量镜像 - 掘金]( )
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/1c8bba4bb34bb2ee97ed631f010c9eba.png)
![img](https://img-blog.csdnimg.cn/img_convert/bce3df7e16e272a93b7e86be47594b6d.png)
![img](https://img-blog.csdnimg.cn/img_convert/e92b3be9692f67f9e2fc1351129e734f.png)
![img](https://img-blog.csdnimg.cn/img_convert/9a303cfad60794ac14fa990d1f216b85.png)
![img](https://img-blog.csdnimg.cn/img_convert/2cbc644c5206c26cfe8f266429ec824a.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
![img](https://img-blog.csdnimg.cn/img_convert/9990232a58e754a0e9b113e06c3f4475.jpeg)
### 最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
### 资料预览
给大家整理的视频资料:
![](https://img-blog.csdnimg.cn/img_convert/8ae407ca05de03bd80897b2c7f724527.png)
给大家整理的电子书资料:
![](https://img-blog.csdnimg.cn/img_convert/2afc5475fb9e16d1948d789760cbfeca.png)
**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**
**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
![img](https://img-blog.csdnimg.cn/img_convert/86bce76baa5af8365f3adf86379f4a46.jpeg)
续创作的动力!**
**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中...(img-yBHSBLmY-1712972566054)]