nginx搭配gateway的集群配置

一、nginx在http里配置如下信息

复制代码
upstream gateway-cluster {
        server 127.0.0.1:10001;
        server 127.0.0.1:10002;
    }

    server {
        listen       1000;
        server_name  localhost;

        location ~/zzw_project/(.*) {
            proxy_pass http://gateway-cluster/$1;

            proxy_set_header Host $host;  # 代理设置,保留客户端的原始信息
            proxy_pass_request_body on;  #开启获取请求体
            proxy_pass_request_headers on;  #开启获取请求头
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;

            # 建议增加超时时间设置,避免gateway响应延迟导致请求超时
            proxy_connect_timeout 60s;
            proxy_send_timeout 60s;
            proxy_read_timeout 60s;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

二、搭建gateway服务

三、总结调用过程,以(http://localhost:1000/zzw_project/pay-api/pay/result)为例

localhost:1000首先到nginx监听到,通过location命中,走代理负载后面路径变成http://127.0.0.1:10001/pay-api/pay/result。接下来请求到了网关gateway,/pay-api/pay/result这个路径被接收的路径捕获到,filters一下路径变成/pay/result,加上uri的pay-api(通过向注册中心获取具体的ip和端口)变成http://127.0.0.1:8201/pay/result。

相关推荐
MMME~43 分钟前
Ansible Playbook高效自动化实战指南
网络·自动化·ansible
数据安全科普王1 小时前
从 HTTP/1.1 到 HTTP/3:协议演进如何改变 Web 性能?
网络·其他
舰长1151 小时前
linux 实现文件共享的实现方式比较
linux·服务器·网络
学***54231 小时前
如何轻松避免网络负载过大
开发语言·网络·php
weixin_395448911 小时前
main.c_cursor_0129
前端·网络·算法
CS创新实验室1 小时前
《计算机网络》深入学:路由算法与路径选择
网络·计算机网络·算法
熊猫钓鱼>_>3 小时前
动态网站发布部署核心问题详解
前端·nginx·容器化·网页开发·云服务器·静态部署
wWYy.3 小时前
C++-集群聊天室(2):muduo网络库
网络·c++
珠海西格3 小时前
远动通信装置为何是电网安全运行的“神经中枢”?
大数据·服务器·网络·数据库·分布式·安全·区块链
java干货4 小时前
微服务:把一个简单的问题,拆成 100 个网络问题
网络·微服务·架构