Nginx反向代理设置

时间:2016-03-19 00:05:11

标签: nginx proxy server reverse setting

我是Nginx的新手,需要你的帮助。 基本上我有一个单一IP地址的服务器,但我想在服务器内托管两个不同的域名。所以,基本上,对于每个域名,我希望它重定向到不同的端口号。我试过下面的错误

[root@mysvr 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;
}

谢谢!

1 个答案:

答案 0 :(得分:11)

如果您查看proxy_pass的文档,则proxy_pass需要位于locationif in locationlimit_except块中。你有一个server块。

尝试使用

替换proxy_pass的使用情况
location / {
    proxy_pass ...
}