Nginx到底是怎么转发的

2023-12-29 16:47:54

配置如下

		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

文章来源:https://blog.csdn.net/ZHUSHANGLIN/article/details/135290958
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。