2017-07-05 1 views
0

Ich habe 2 Server:Verwenden Heroku Server-URL bei nginx.conf.erb für Load Balancing

Hier meine Konfiguration von nginx.conf.erb auf Server 1: https://gist.github.com/ntvinh11586/5b6fde3e804482aa400f3f7faca3d65f

Wenn ich https://server1.herokuapp.com/ versuchen zu nennen, statt Rückgabedaten aus https://server2.herokuapp.com/, erreiche ich einen 400 - Bad request. Ich weiß nicht irgendwo in meinem nginx.conf.erb falsch oder ich brauche nginx in Server 2 implementieren.

Versuchen Sie, einige Ressourcen zu erforschen, aber ich fand fast diese Tutorials in Localhost anstelle von bestimmten Hosts wie Heroku konfigurieren.

Was also sollte ich tun, um meine Arbeit erfolgreich zu machen?

Antwort

0

Sie benötigen eine App wie folgt konfigurieren -

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

Meine zwei Cent.

Kommentar aus dem Upstream. Arbeiten Sie mit einem einzelnen Server server1.herokuapp.com, arbeiten Sie mit der obigen Implementierung, und dann können Sie das Hinzufügen von server2.hreokuapp.com zum Lastenausgleich durchführen.