我有2台服务器:
此处我在服务器1配置nginx.conf.erb
:https://gist.github.com/ntvinh11586/5b6fde3e804482aa400f3f7faca3d65f
当我尝试拨打https://server1.herokuapp.com/
时,我没有从https://server2.herokuapp.com/返回数据,而是到达400 - Bad request
。我不知道我的nginx.conf.erb
错误或我需要在服务器2中实现nginx。
尝试研究一些资源,但我发现这些教程几乎都是在localhost中配置而不是像heroku这样的特定主机。
那么我应该怎样做才能使我的工作成功?
答案 0 :(得分:0)
您需要按照以下方式配置您的应用 -
#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以实现负载平衡。