我有nginx.conf
nginx配置:
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;
}
}
}
/
是一台服务器的服务器,/api
到另一个api服务器。问题在于第二个(api服务器)。
当我希望它们到达api服务器的根目录时调用到达/api/**
(基本上在调用api服务器时删除/ api)。
所以打电话
/api
- >将在api服务器中到达/
并致电/api/foo
- >将在api服务器中到达/foo
。我想我正在为此寻找某种改写(?)
我在/api
位置内进行了尝试:
rewrite ^/api(.*) /$1 last;
但它似乎没有用。
任何形式的帮助都将不胜感激!
答案 0 :(得分:0)
使用rewrite ^/api(/.*)$ $1 break;
但我不能只使用/api
- 它必须是/api/
(尾随/
)
对我而言,如果有人知道如何支持/api
,那很好,很有趣。