使用Heroku的服务器URL在nginx.conf.erb用于负载均衡(Use Heroku se

2019-10-29 18:04发布

我有2服务器:

  • 服务器1是与Nginx的负载均衡- https://server1.herokuapp.com/
  • 服务器2是演技RESTful API中。 - https://server2.herokuapp.com/

在这里我的配置nginx.conf.erb在服务器1: https://gist.github.com/ntvinh11586/5b6fde3e804482aa400f3f7faca3d65f

当我尝试打电话https://server1.herokuapp.com/ ,而不是从返回数据, https://server2.herokuapp.com/ ,我达到400 - Bad request 。 我不知道的地方,我nginx.conf.erb错误的或者我需要在服务器2实现nginx的。

尝试研究的一些资源,但我发现,几乎这些教程配置在本地主机,而不是像Heroku的特定主机。

所以,我应该怎么做,使我的工作顺利?

Answer 1:

您需要配置您的应用程序如下 -

#upstream nodebeats {
#       server server2.herokuapp.com;
#   }

 server {
    listen       <%= ENV['PORT'] %>;
    server_name  herokuapp.com;
    root    "/app/";
    large_client_header_buffers 4 32k;

    location / {
        proxy_redirect off;
        proxy_set_header   X-Real-IP            $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   Host                   $http_host;
        proxy_set_header   X-NginX-Proxy    true;
        proxy_set_header   Connection "";
        proxy_http_version 1.1;
         proxy_pass http://localhost:<node-app-port>;
    }

我的两分钱。

注释掉上游。 单个服务器server1.herokuapp.com工作,把它与上面的实施工作,然后你就可以在其上添加server2.hreokuapp.com负载均衡实现。



文章来源: Use Heroku server url at nginx.conf.erb for load balancing