Nginx 作 WebService 反向代理

Nginx 的 server 配置 ksb.conf

upstream router {
    server 10.88.115.114:5555 weight=2;
    server 10.88.115.137:80 weight=1;
}

server {
    listen       8080;
    server_name  10.88.115.137;
    charset utf-8;

    proxy_intercept_errors on;
    location / {
        proxy_pass    http://router;
        proxy_set_header   Host                 $host;
        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    $http_x_forwarded_proto;
        proxy_set_header   Via                  "nginx";
        proxy_read_timeout 660;
        proxy_connect_timeout 10;
        proxy_send_timeout 60;
    }
}

重点关注几个配置项:

  • upstream:用于配置 nginx 后端服务器(即 upstream,上游服务器),这里我们配置了两个后端服务器,并设置转发的权重分别为 2 和 1
  • proxy_pass:配置代码转发,即使用上面 upstream router 作为后端服务器转发
  • proxy_read_timeout:nginx 与后端服务器连接成功后,后端服务器响应的超时时间,即后端服务器处理请求的超时时间,由于后端服务器处理请求的最长时间为 600 秒,这里设置 660 秒
  • proxy_connect_timeout:nginx 与后端服务器连接的超时时间
  • proxy_send_timeout:后端服务器完成请求处理后,传输完整数据的超时时间

先启动两个后端服务器,这两个后端服务器均对处提供 WebService 接口。然后使用 docker-compose up -d 启动 nginx 作为 WebService 接口反向代理。

客户端访问 nginx ,可以看到客户端 WebService 请求被正常转发到了两个 WebService 后端服务器处理,然后客户端通过 nginx 正常获取了后端服务器的返回结果。

 

from :https://leehao.me/Nginx-%E4%BD%9C-WebService-%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/

 

posted @ 2022-11-16 14:36  一个土豆一棵青菜  阅读(1259)  评论(0编辑  收藏  举报