2016-03-19 320 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