
在我之前的問題中nginx 將除特定檔案和子目錄之外的所有內容解析(指向)不同的 ip我詢問如何解析我的白標網站及其頁面到不同的 IP,但在我的伺服器上保留一些子資料夾和檔案以供載入。事實證明這很簡單,最終的解決方案是這樣的:
location /robots.txt {
alias {DOCROOT};
}
server_name {SERVERNAME};
location ~ /\.php$ {
proxy_pass 10.10.10.10 <== whitelabel ip;
proxy_set_header Host {SERVERNAME};
proxy_set_header X-Forwarded-For myaccount.whitelabelsite.com;
proxy_redirect off;
proxy_set_header Connection "Keep-Alive";
proxy_buffering off;
}
因此,在這裡,我從我的網域下的白標網站加載所有內容,但仍保留 robots.txt 以從我的主機和其他一些文件加載。
現在的問題是,我使用這種方法無法登入白標網站上的帳戶。
所以{SERVERNAME}
指令基本上是我的域名mydomain.com
,當我嘗試登入mydomain.com/aff/panel
它打開頁面時,它不會輸出任何錯誤,只是刷新頁面而不執行任何操作。如果有人想要預訂或發送電子郵件表格,情況也是如此。它打開頁面但實際上不執行任何操作。
當我使用 DNS 重定向時一切正常,但現在不行了。我是否缺少一些代理資訊或標題發布/獲取操作轉發到或從白標籤?
答案1
如果主機設定不正確,「whitelabelsite.com」上的後端應用程式可能無法正常運作。將 Host 標頭設定為您要代理的主機名,而不是您自己的主機名稱。
proxy_set_header Host myaccount.whitelabelsite.com
你確定你需要嗎proxy_redirect off
?這可能會阻止後端網站發送重定向。
另外,不太可能與問題相關,但X-Forwarded-For
應該是客戶端 IP 位址。 nginx 有一個特殊的變數來正確加入 ip。
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
在沒有獲得完整細節的情況下,這是一些猜測,希望它有所幫助。