2016-03-19 272 views
3

我對Nginx來說是全新的,需要你的幫助。 基本上我有一個單一的IP地址的服務器,但我想在不同域名的服務器上託管兩個不同的Web應用程序。所以,基本上,對於每個域名,我希望它重定向到不同的端口號。我在下面嘗試並出現錯誤Nginx反向代理設置

[[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 

以下是Nginx設置。第41行是proxy_pass的位置。

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; 
} 

謝謝!

回答

4

如果您檢查文檔爲proxy_passproxy_pass需要在一個locationif in locationlimit_except塊。你有一個server塊。

嘗試用

location/{ 
    proxy_pass ... 
} 
+0

謝謝您更換您的proxy_pass使用;有用! – Gon

+1

'proxy_path'?應該是'proxy_pass',對吧? – emc

+1

@emc你是對的......現在修好了,謝謝:) – Kyle