2016-11-10 2 views
1

ich auf dieses Szenario bin:Nginx Proxy für Webserver, die auf anderen Server ist, wo Apache dockerized ist

Server A (Endpunkt auf DMZ), wo NGINX läuft somes django apps durch (auf demselben Server), habe ich keine Ärger über diese.

Server B (eine andere lokale IP), wo zwei Docker Container ausgeführt werden. Einer von ihnen betreibt Apache, der andere betreibt PostGis.

Ich habe bereits NGINX (Server A) konfiguriert, um zwei Django-Apps und Pelikan-Blog aus verschiedenen Subdomain zu bekommen. Keine Probleme mit ihnen.

Apache in Server B führen Sie eine Webanwendung auf Port 80. Wenn ich die Seite zu diesem Server: Port in meinem lokalen Netzwerk, es funktioniert ordnungsgemäß.

Es kann wichtig sein zu wissen, dass eine Umleitung von Apache getan wird, und es ist in meinem Browser getan.

Was ich brauche ist Zugriff auf Server B Webapp von NGINX, die auf einer anderen Subdomain befindet.

Ich dachte, eine neue conf auf NGNIX auf A Server konnte den Trick einfach so hinzuzufügen gemacht:

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; 

} 
} 

Aber wenn ich versuche, um die Seite zu bekommen, habe ich nicht gefunden 404. Aber ich kann die Umleitung im Client-Browser sehen.

dies ist der Fehler in Nginx Log:

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]" 

ich nicht herausfinden kann, was passiert. Ich habe nicht viel Erfahrung mit NGINX und Multiserver Konfiguration. Bitte sagen Sie mir, ob meine Frage nicht clever genug ist und ob Sie weitere Informationen benötigen.

+0

NGINX zu/usr/share/nginx/html/websig/lizmap gehen /index.html um die HTML Seite zu bekommen. Aber es sollte die Seite von den Apache Containern nehmen. Ich weiß nicht, wie man das konfiguriert –

+0

Ich finde den Grund meiner Probleme. Der Nginx-Block-Speicherort auf meinem Server wurde deklariert als ** =/**, also musste ich ** = ** entfernen, um alle URI auf dem Server B zu proxygen, und es funktioniert wie ein Zauber –

Antwort

0

Ich finde den Grund meiner Probleme. Der Nginx-Block-Speicherort auf meinem Server war deklarieren als =/so musste ich = entfernen, um alle URI auf dem Server B zu proxy und es funktioniert als Charm