Nginx 根据URL带的参数转发的实现
这篇文章主要介绍了Nginx 根据URL带的参数转发的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
使用场景:
需要根据截取URL动态配置跳转路径,常见于访问内网不固定ip地址的文件图片,
请求地址:http://11.19.1.212:82/bimg4/32.52.62.42:222/DownLoadFile?filename=LOC:12/data/20180208/15/2e0ae54dfd752210083404deed15269c_222403
实际需要访问的内网地址:http://32.52.62.42:222/DownLoadFile?filename=LOC:12/data/20180208/15/2e0ae54dfd752210083404deed15269c_222403
nginx配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | server { listen 83; server_name localhost; index index.html index.htm; root D: /workspace-xxxx/xxx_Web ; error_page 500 502 503 504 / 50x.html; location = /50x .html { root html; } location ^~ /xxx/ { proxy_pass http: //192 .168.60.36:8090 /xxxx/ ; proxy_redirect default; proxy_set_header Host $host; proxy_set_header X - Real - IP $remote_addr; proxy_set_header X - Forwarded - Host $host; proxy_set_header X - Forwarded - Server $host; proxy_set_header X - Forwarded - For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade" ; } |
1 2 3 4 5 6 7 8 | # 此处为截取请求地址中bimg4之后的路径,并赋给转发地址 location ^ ~ / bimg4 / { if ($request_uri~ / bimg4 / (. * )) { set $bucketid $1; } proxy_pass http: // $bucketid; } } |
到此这篇关于Nginx 根据URL带的参数转发的实现的文章就介绍到这了