如何解决nginx 中的代理 - 转发位置
假设我有一个 REST API 监听服务器 example.com 上的本地主机,并且我有以下代理在 proxy.conf 文件中工作:
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:8080/;
}
这意味着我可以访问我的 API,例如example.com/users。但是这个设置引起了一些冲突,所以我需要它的位置如下:
location /api/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:8080/;
}
我可以使用 example.com/api 正确访问 API 的根目录。但是,它返回的链接位于上下文 example.com/users 等中,而不是我需要的 example.com/api/users。
本质上我是在问,如何使用 example.com/api/ 而不是 example.com 将请求转发到我的 API?
解决方法
解决了!如果有人遇到这种情况,我的解决方案如下:
location /api/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:8080; # note the removed trailing /
}
感谢 Ivan 提供 this link 的帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。