2016-03-19 16 views
3

Ich bin völlig neu in Nginx und brauche deine Hilfe. Grundsätzlich habe ich einen einzelnen Server mit einer einzigen IP-Adresse, aber ich möchte zwei verschiedene Web-Anwendungen innerhalb des Servers mit unterschiedlichen Domänennamen hosten. Also, im Grunde, für jeden Domain-Namen, möchte ich es auf andere Port-Nummer umleiten. Ich habe versucht, unten und bekam einen FehlerNginx Reverse Proxy Einstellung

[[email protected] nginx]# nginx -t -c /etc/nginx/nginx.conf 
nginx: [emerg] "proxy_pass" directive is not allowed here in /etc/nginx/nginx.conf:41 
nginx: configuration file /etc/nginx/nginx.conf test failed 

Nach der Nginx Einstellung. Zeile 41 ist wo der Proxy_pass ist.

server { 
    listen 80; 
    server_name server1.com www.server1.com; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header Host $host; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_pass http://127.0.0.1:1003; 
} 

server { 
    listen 80; 
    server_name server2.com www.server2.com; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header Host $host; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_pass http://192.168.1.1:1004; 
} 

Vielen Dank!

Antwort

4

Wenn Sie die Dokumentation für proxy_pass überprüfen, proxy_pass muss in einem location, if in location oder limit_except Block sein. Sie haben es in einem server Block.

Versuchen Sie, Ihre Nutzung von proxy_pass mit

location/{ 
    proxy_pass ... 
} 
+0

Danke zu ersetzen; Es klappt! – Gon

+1

'proxy_path'? Sollte "proxy_pass" sein, oder? – emc

+1

@emc Du hast Recht ... jetzt behoben, danke :) – Kyle