加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

使用Nginx作为多个服务器的反向代理

发布时间:2020-12-13 21:10:58 所属栏目:Nginx 来源:网络整理
导读:我正在尝试将nginx配置为LAN上多个服务器的反向代理.他们应该在我的WAN上使用不同的子域.我的配置如下所示: @ReverseProxy:/etc/nginx/sites-enabled$cat reverseproxy server { server_name DOMAIN.eu; # app1 reverse proxy follow proxy_set_header X-Re

我正在尝试将nginx配置为LAN上多个服务器的反向代理.他们应该在我的WAN上使用不同的子域.我的配置如下所示:

@ReverseProxy:/etc/nginx/sites-enabled$cat reverseproxy 
server { 
  server_name DOMAIN.eu;

  # app1 reverse proxy follow
  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://10.0.2.5:80;

}

server { 
  server_name Subdomain.domain.eu;

  # app2 reverse proxy settings follow
  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://10.0.2.33:80;
}

但我收到这个错误,无法进一步……

@ReverseProxy:/etc/nginx/sites-enabled$nginx -t
nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2009/01/04 12:22:13 [warn] 1302#0: the "user" directive makes sense only if the master process runs with super-user privileges,ignored in /etc/nginx/nginx.conf:1
2009/01/04 12:22:13 [emerg] 1302#0: "proxy_pass" directive is not allowed here in /etc/nginx/sites-enabled/reverseproxy:8

nginx:配置文件/etc/nginx/nginx.conf测试失败

最佳答案
您的问题是您在服务器块内使用proxy_pass,这是不允许的.尝试使用:

server {
    server_name Subdomain.domain.eu;

    location / {
        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://10.0.2.33:80;
    }
}

在您的服务器块内.正如nginx documentation所说,无法在服务器级别设置代理选项.

日志中的其他问题发生是因为你以某种方式将你的nginx作为常规用户启动,尽管它应该以root身份启动.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读