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服务器上。
2713 0
|
2月前
|
监控 应用服务中间件 nginx
FastGateway 一个可以用于代替Nginx的网关
FastGateway 一个可以用于代替Nginx的网关
46 1
|
3月前
|
缓存 负载均衡 算法
【Nginx】Nginx 负载均衡
【1月更文挑战第25天】【Nginx】Nginx 负载均衡
|
3月前
|
网络协议 关系型数据库 MySQL
【nginx】使用nginx转发tcp请求
【nginx】使用nginx转发tcp请求
108 1
|
8月前
|
负载均衡 算法 应用服务中间件
Nginx反向代理配置
Nginx反向代理配置
228 0
|
9月前
|
应用服务中间件 Linux 网络安全
Nginx反向代理实例
上一篇博客写了使用Nginx实现访问80端口转发到tomcat页面:使用Nginx实现反向代理(80端口转发到Tomcat)
|
11月前
|
前端开发 应用服务中间件 测试技术
Nginx - 记一次Nginx端口转发失败案例
Nginx - 记一次Nginx端口转发失败案例
252 0
|
负载均衡 应用服务中间件 nginx
Nginx 反向代理配置
Nginx 反向代理配置
147 0
|
负载均衡 应用服务中间件 nginx
Nginx——Nginx主要应用之负载均衡
Nginx——Nginx主要应用之负载均衡
Nginx——Nginx主要应用之负载均衡
|
应用服务中间件 开发工具 nginx
最详细nginx反向代理之端口配置
最详细nginx反向代理之端口配置