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 自动匹配到目标服务器上的相应资源。

Nginx 报错:

原文地址: https://www.cveoy.top/t/topic/fNIa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录