我想将所有以/ api /(/ api / * ??)开头的路径转发到端口1000,但实际配置要么只转发包含“ / api /”的路径,然后转发(/ api / login不转发)
location /api/ {
proxy_pass http://localhost:1000/;
}
或者它根本不起作用
location ~ ^/api/(.*)$ {
proxy_pass http://localhost:1000/;
}
。服务器被配置为休假:
server {
listen 80;
keepalive_timeout 70;
server_name server_name;
location / {
root /var/www/html;
index index.html;
}
location /api/ {
proxy_pass http://localhost:1000/;
}
}
我将不胜感激,谢谢!
请注意:
location /api/ {
proxy_pass http://localhost:1000/;
}
如果有请求/api/foo
,则您的API服务器将看到/foo
。
如果,另一方面(请注意proxy_pass
中没有斜杠),请使用:
location /api/ {
proxy_pass http://localhost:1000;
}
然后针对相同的请求,您的API服务器将按原样接收请求:/api/foo
。
因此请确保使用正确的方法(斜杠/不斜杠),这取决于您的API服务器如何处理URL(如果将其配置为处理/api/foo
URL,则不应在proxy_pass
中使用尾部斜杠。] >