Nginx 报错: "proxy_pass" cannot have URI part in location given by regular expression
Nginx 报错:'proxy_pass' cannot have URI part in location given by regular expression
在使用 Nginx 配置反向代理时,如果在使用了正则表达式的 location 块中使用了带有 URI 部分的 'proxy_pass' 指令,就会遇到 'proxy_pass' cannot have URI part in location given by regular expression 错误。
错误示例:
location ~ ^/ugreen/v1/ttyd {
proxy_pass http://localhost:7681/;
...
}
错误原因:
当使用正则表达式定义 location 时,Nginx 不允许在 'proxy_pass' 指令中包含 URI 部分。
解决方法:
将 'proxy_pass' 指令中的 URI 部分移除,只保留目标服务器的地址和端口即可。
正确示例:
location ~ ^/ugreen/v1/ttyd {
proxy_pass http://localhost:7681;
...
}
修改后,Nginx 将会把匹配 /ugreen/v1/ttyd 开头的所有请求转发到 http://localhost:7681,并根据请求的 URI 自动匹配到目标服务器上的相应资源。
原文地址: https://www.cveoy.top/t/topic/fNIa 著作权归作者所有。请勿转载和采集!