nginx proxy_pass 从特定路径到另一个特定路径抛出错误

nginx proxy_pass from a specific path to another specific path throws an error

我反复阅读 nginx proxy_pass docs。我以为我理解它,直到我花了最后一个小时得到一个没有意义的不起眼的错误。其他有同样问题的人似乎与此无关。昨天是我第一天使用 nginx。我是 运行 nginx v1.12.2.

当有人请求 https://example1.com/just-right/search 我想将该请求代理到 https://example2.com/abc.php

location ~ /just-right/search {
    proxy_pass   https://example2.com/abc.php;
}

我没有代理 proxy_pass 中定义的路径,而是收到错误:

"proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except" block in line .......

我没有使用正则表达式。 'named location' 是什么意思?它不在 if 语句或 "limit_except" 块内,所以我做错了什么?

当您在位置块中使用波浪号 (~) 时,位置被解释为正则表达式匹配。删除它,它应该可以正确处理。

在此处查看文档:https://nginx.org/en/docs/http/ngx_http_core_module.html#location