如题 我要配置以 api 开头的路径 例子 1 http://localhost/api/a 例子 2 http://localhost/api/a/b/c
location ^~ /api/ { proxy_pass http://localhost:5000/test; }
已经尝试网上很多方法了 但是还是不行 。
1
xiaoriri666 2022-07-18 18:16:12 +08:00
location ^~/api/ {
proxy_pass http://127.0.0.1:30003/; } 试试这个呢,~中间没有空格 |
2
Seanfuck 2022-07-18 18:19:44 +08:00
是不是配置里面有 if 条件,if 的优先级比 location 高,要把 if 放在 location / {} 里。
|
3
hatebugs 2022-07-18 19:34:14 +08:00 via iPhone
开 debug 日志看匹配到哪个 location 了
|
4
killva4624 2022-07-18 21:29:04 +08:00
把完整的配置文件贴出来。
|
5
Martens 2022-07-18 22:05:29 +08:00
nginx 是返回 404 ?还是 502 ?
如果是 404 ,那么 404 是你后端返回的吗? 如果是加一个重写规则:rewrite ^/api/(.*)$ /$1 break; |
6
hhhhhh123 OP @xiaoriri666 这个不行
|
9
hhhhhh123 OP @Martens 看了下 服务端的日志,404 是服务端出来的 proxy_pass http://localhost:5000/test;我以为这行代码 不会进行将上面多余的路径加上来, 请求进来居然是 /testa, /testa/b/c
|