簡體   English   中英

nginx 中的代理 - 轉發位置

[英]Proxy in nginx - forwarding location

假設我有一個 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/ 將請求轉發到我的 API 而不僅僅是 example.com?

解決了,如果有人遇到這個:我的解決方案如下:

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 提供此鏈接以提供幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM