我正在嘗試設定代理伺服器,以便
proxy-server.com/app1 --> website1.com
proxy-server.com/app2 --> website2.com
- 不應該重定向到實際的後端應用程式。使用者只能
proxy-server.com/app[1/2]
在 URL 中看到。 - 所有靜態資源都應該載入良好。例如,app2 中的資源
/js/sample.js
應從位置請求/app2/js/sample.js
- 當我執行操作(例如提交表單或導航到 app2 中的另一個頁面)時,請求應該放在前面,
/app2
以便它被代理到正確的地址
http {
upstream webapp1 {
server website1.com:443;
}
upstream webapp2 {
server website2.com:443;
}
server {
listen 80;
listen 443 ssl;
server_name proxy-server.com;
# certificate section
location /app1 {
proxy_pass https://webapp1/;
proxy_set_header Host website1.com;
}
location /app2 {
proxy_pass https://webapp2/;
proxy_set_header Host website1.com;
}
}
}
該配置僅修復了第一點,但我正在努力尋找上述其他兩點的解決方案。我正在尋找一個乾淨的解決方案,只是要提到我會盡量避免if
語句或sub_filter
模組:)