我有两个应用程序“foo”和“bar”分别在端口 4560 和 4570 上运行。
它们都有类似于/api/v1/hello
和 的路径/api/v1/world
。
我正尝试通过以下方式访问它们:
我有以下 NGINX 配置:
server {
server_name src.saurabh.sm www.src.saurabh.sm;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
location /foo/ {
rewrite ^/foo/?(.*)$ /$1 break;
proxy_pass http://localhost:4560/;
}
location /bar/ {
rewrite ^/bar/?(.*)$ /$1 break;
proxy_pass http://localhost:4570/;
}
}
应用程序的主页(http://localhost:4560/foo/
和http://localhost:4570/bar/
)运行正常,但单击网页上的任何链接都会返回 404,因为链接中没有foo
和。bar
从终端,我可以像这样访问它们:
curl http://localhost:4560/foo/api/v1/hello
curl http://localhost:4560/foo/api/v1/world
curl http://localhost:4570/bar/api/v1/hello
curl http://localhost:4570/bar/api/v1/world
我如何确保foo
并bar
位于浏览器中所有端点之前?