Nginx到底是怎么转发的

简介: Nginx到底是怎么转发的

配置如下

location /dev-api/wms-order/api/screen/byq/ {
        add_header          'Access-Control-Allow-Origin' '*';
        add_header          'Access-Control-Allow-Credentials' 'true';
        add_header          'Access-Control-Allow-Methods' 'OPTIONS, GET, POST';
        proxy_pass          http://182.44.16.68:8099/wms-order/api/screen/;
        proxy_connect_timeout       300s;
        proxy_send_timeout  300s;
        proxy_read_timeout  300s;
        proxy_set_header    Host             $host;
        proxy_set_header    X-Real-IP        $remote_addr;
        proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;
      }

转发过程:

当我们请求的地址为:http://182.44.16.68:8088/dev-api/wms-order/api/screen/byq/yearOutbound

的时候,因为端口8088后面的路径,匹配到上面的location,所以匹配的路径会替换为proxy_pass的内容,匹配路径后面的路径yearOutbound会加在proxy_pass后,实际上nginx会把这个地址转发为:

http://182.44.16.68:8099/wms-order/api/screen/yearOutbound

示意图更好理解:

总结:请求nginx http://ip:port/路径1/路径2 通过location路径1匹配,相当于请求:proxy_pass/路径2

目录
相关文章
|
Web App开发 前端开发 应用服务中间件
nginx实现请求转发
反向代理适用于很多场合,负载均衡是最普遍的用法。 nginx 作为目前最流行的web服务器之一,可以很方便地实现反向代理。 nginx 反向代理官方文档: NGINX REVERSE PROXY 当在一台主机上部署了多个不同的web服务器,并且需要能在80端口同时访问这些web服务器时,可以使用 nginx 的反向代理功能: 用 nginx 在80端口监听所有请求,并依据转发规则(比较常见的是以 URI 来转发)转发到对应的web服务器上。
2870 0
|
1月前
|
负载均衡 算法 应用服务中间件
【nginx】配置Nginx实现负载均衡
【nginx】配置Nginx实现负载均衡
|
6月前
|
应用服务中间件 nginx
nginx进行反向代理的配置
在Nginx中设置反向代理的步骤:编辑`/etc/nginx/nginx.conf`,在http段加入配置,创建一个监听80端口、服务器名为example.com的虚拟主机。通过`location /`将请求代理到本地3000端口,并设置代理头。保存配置后,使用`sudo nginx -s reload`重载服务。完成配置,通过example.com访问代理服务器。
86 0
|
6月前
|
监控 应用服务中间件 nginx
FastGateway 一个可以用于代替Nginx的网关
FastGateway 一个可以用于代替Nginx的网关
113 1
|
6月前
|
网络协议 关系型数据库 MySQL
【nginx】使用nginx转发tcp请求
【nginx】使用nginx转发tcp请求
274 1
|
6月前
|
缓存 负载均衡 算法
【Nginx】Nginx 负载均衡
【1月更文挑战第25天】【Nginx】Nginx 负载均衡
|
负载均衡 算法 应用服务中间件
Nginx反向代理配置
Nginx反向代理配置
329 0
|
前端开发 应用服务中间件 测试技术
Nginx - 记一次Nginx端口转发失败案例
Nginx - 记一次Nginx端口转发失败案例
384 0
|
负载均衡 应用服务中间件 nginx
Nginx——Nginx主要应用之负载均衡
Nginx——Nginx主要应用之负载均衡
Nginx——Nginx主要应用之负载均衡