Nginx摘除流量

本文详细介绍了如何使用Nginx进行流量管理,通过配置实现高效地摘除流量,提高系统性能和稳定性。
#负载均衡配置
upstream  order-backend {
    server 127.0.0.1:8080 max_fails=1 fail_timeout=3s weight=3;
    server 127.0.0.1:8081 max_fails=1 fail_timeout=3s weight=3;
}
        location /api {
                #add_header指令来设置response header,通过浏览器F12查看到每个请求的response header都有下面四个属性
                #该字段是必须的。它的值要么是请求时Origin字段的值,要么是一个*,表示接受任意域名的请求。
                add_header Access-Control-Allow-Origin "*";	

                #表示是否允许发送Cookie。默认情况下,Cookie不包括在CORS请求之中。设为true,即表示服务器明确许可,Cookie可以包含在请求中,一起发给服务器。这个值也只能设为true,如果服务器不要浏览器发送Cookie,删除该字段即可。
                add_header Access-Control-Allow-Credentials "true";	

                #该字段可选。CORS请求时,XMLHttpRequest对象的getResponseHeader()方法只能拿到6个基本字段:Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma。如果想拿到其他字段,就必须在Access-Control-Expose-Headers里面指定。
                add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";

                #该字段可选。跨域允许的方法
                add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";	

                #proxy_pass反向代理,对于访问/api开头的请求,均转发到负载均衡order-backend
                proxy_pass http://order-backend;

                #proxy_redirect
                proxy_redirect off;

                #proxy_set_header用来重定义发往后端服务器的请求头
                #转发后台服务时候,请求header加上Host字段,$host是NGINX内置全局变量,表示前端请求上送的host
                proxy_set_header Host $host;	

                #转发后台服务时候,请求header加上Cookie字段,$http_cookie是NGINX内置全局变量,表示前端请求上送的cookie
                proxy_set_header Cookie $http_cookie;	

                #x-real-ip表示直连地址
                #转发后台服务时候,请求header加上x-real-ip字段,$remote_addr是NGINX内置全局变量,表示浏览器实际地址
                proxy_set_header x-real-ip $remote_addr;	

                #https://www.cnblogs.com/diaosir/p/6890825.html
                #在使用nginx做反向代理时,我们为了记录整个的代理过程,我们往往会在配置文件中做如下配置:proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;,内容通常X-Forwarded-For:192.168.247.1, 192.168.247.131, 192.168.247.132
                #x-forwarded-for获取结果是一组ip,如果每个代理都设置了proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;,那么分别是ip1,,ip2,ip3地址,第一个地址就是实际地址
                #转发后台服务时候,请求header加上x-forwarded-for字段,$http_cookie是NGINX内置全局变量,表示前端请求上送的cookie。详细见https://www.cnblogs.com/diaosir/p/6890825.html
                proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
	
                #proxy_cookie_path 解决反向代理session丢失。proxy_cookie_path 的作用是用来改变cookie的路径 nginx在每次传递请求时,如果没有传递cookie,没有添加proxy_cookie_path,服务器将视为两次请求,因此会重新生成一个新的session,致使session数据丢失。
                proxy_cookie_path /api/ /;

                #proxy_next_upstream 当其中一台返回错误码404,500...等错误时,可以分配到下一台服务器程序继续处理,提高平台访问成功率,多可运用于前台程序负载
                proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_404;
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曾帅168

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值