我有这个nginx.confnginx 配置:
http {
...
upstream app_servers {
server admin;
}
upstream status_servers {
server status:5000;
}
# Configuration for the server
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
location / {
proxy_pass http://app_servers;
proxy_redirect off;
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-Host $server_name;
}
location /api {
proxy_pass http://api_servers;
proxy_redirect off;
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-Host $server_name;
}
}
}
Run Code Online (Sandbox Code Playgroud)
/是服务器到一台服务器,并且/api到另一个 api 服务器。问题出在第二个(api 服务器)。
当我希望它们到达 api 服务器的根目录时,调用正在到达/api/**(基本上在调用 api 服务器时删除 /api)。
如此呼唤
/api -> 将到达/api服务器,并调用/api/foo-> 将到达/fooapi 服务器。我想我正在寻找某种重写规则(?)
我已经尝试过该/api位置内部:
rewrite ^/api(.*) /$1 last;
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用。
任何形式的帮助将不胜感激!
使用解决了它rewrite ^/api(/.*)$ $1 break;
但我不能只使用/api- 它必须是/api/(带有尾随/)
对我来说,这很好,也很有趣,如果有人知道如何获得支持的话/api。
| 归档时间: |
|
| 查看次数: |
8786 次 |
| 最近记录: |