我有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的特定主机。
所以,我应该怎么做,使我的工作顺利?
您需要配置您的应用程序如下 -
#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负载均衡实现。