2016-11-10 36 views
1

我對這樣的場景:的網絡服務器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和多服務器配置沒有太多經驗。請告訴我,如果我的問題不夠聰明,並且您需要更多信息。

+0

NGINX轉到/ usr/share/nginx/html/websig/lizmap /index.html獲取html頁面。但它應該從Apache容器中獲取頁面。不知道如何配置 –

+0

我找到了我麻煩的原因。我的服務器上的nginx塊位置聲明爲** =/**,所以我必須刪除** = **來代理服務器B上的所有uri,並且它是workins的魅力 –

回答

0

我找到了我麻煩的原因。我的服務器上的nginx塊位置被聲明爲= /所以我必須刪除=代理服務器B上的所有uri,它的工作作爲魅力