我對這樣的場景:的網絡服務器Nginx的代理是不同的服務器上,其中Apache是dockerized
服務器A(上DMZ終點),其中通過NGINX運行薩姆Django的應用程序(在同一臺服務器上),我沒有麻煩在那些。
運行兩個Docker容器的服務器B(另一個本地IP)。其中一個運行Apache,另一個運行PostGis。
我已經配置NGINX(服務器A)從不同子域獲取兩個django應用程序和鵜鶘博客。沒有與他們的麻煩。
服務器B中的Apache在端口80上運行webapp。當我在本地網絡上獲取到該服務器的端口:端口時,它正常工作。
重定向是由apache完成的,它是在我的瀏覽器上完成的。
我需要的是從位於另一個子域的NGINX訪問服務器的B webapp。
我認爲在NGNIX A的服務器上添加一個新的conf所能做出的把戲簡直就像這樣:
server {
listen [::]:80;
listen 80;
server_name sub.dns.com;
access_log /var/log/nginx/proxy-access.log;
error_log /var/log/nginx/proxy-error.log;
location =/{
# Instead of handling the index, just
# rewrite/to /index.html
proxy_pass http://192.168.1.xx;
}
}
但是,當我試圖讓網頁,我收到了404未找到。但是,我可以在客戶端瀏覽器中看到重定向。
這是Nginx的日誌中的錯誤:
2016/11/30 13:30:39 [error] 23662#0: *6204 "/usr/share/nginx/html/websig/lizmap/index.html" is not found (2: No such file or directory), client: IPxxx , server: [sub.dns.com] , request: "GET /websig/lizmap/ HTTP/1.1", host: "[sub.dns.com]"
我無法弄清楚發生了什麼。我對NGINX和多服務器配置沒有太多經驗。請告訴我,如果我的問題不夠聰明,並且您需要更多信息。
NGINX轉到/ usr/share/nginx/html/websig/lizmap /index.html獲取html頁面。但它應該從Apache容器中獲取頁面。不知道如何配置 –
我找到了我麻煩的原因。我的服務器上的nginx塊位置聲明爲** =/**,所以我必須刪除** = **來代理服務器B上的所有uri,並且它是workins的魅力 –