[英]Nginx multiple backend one server
我有一個沒有域名的服務器:10.23.33.251。 在此服務器上,我有兩個后端(彈簧啟動): 10.23.33.251:8888/apis/a/lot/of/apis 10.23.33.251:9999/apis/a/lot/of/apis
現在我想配置 nginx 來處理任何請求:
/be1/employees/1?very_long_params
將是 proxy_pass(或 proxy_redirect)到10.23.33.251:8888/apis/employees/1?very_long_params
/be2/products/10/very/long/params
將是 proxy_pass(或 proxy_redirect)到10.23.33.251:9999/apis/products/10/very/long/params
但我無法讓它工作。 這是我的配置:
server {
listen 8443;
server_name localhost;
location /be1/* {
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;
proxy_pass http://localhost:8888/apis;
proxy_read_timeout 90;
}
location /be2/* {
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;
proxy_pass http://localhost:9999/apis;
}
}
您的location
定義錯誤。 您正在嘗試使用正則表達式,但缺少~
(或~*
)運算符。
然而,沒有必要使用正則表達式,您可以只使用前綴位置:
…
location /be1/ {
…
}
location /be2/ {
…
}
另請參閱: 位置指令文檔
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.