Nginx反向代理设置

Nginx reverse proxy setting

我是 Nginx 的新手,需要您的帮助。 基本上我有一个单一 IP 地址的单一服务器,但我想在具有不同域名的服务器中托管两个不同的 Web 应用程序。所以,基本上,对于每个域名,我希望它重定向到不同的端口号。我在下面尝试并得到一个错误

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

谢谢!

如果您查看 proxy_pass 的文档,proxy_pass 需要位于 locationif in locationlimit_except 块中。你把它放在 server 块中。

尝试将 proxy_pass 的用法替换为

location / {
    proxy_pass ...
}