ReverseProxy与NGINX:隐藏第二个应用程序实例

我有两个实例在Ubuntu 12.04上运行在相同的Azure VM服务器上。

Azure在默认情况下给我提供了PUBLIC VIRTUAL IP (VIP) ADDRESSINTERNAL IP ADDRESS所以configurationpassproxy并不是那么明显。

我的例子是:

  1. Nginx + Gunicorn(Main,Django App)在端口内部端口8080(80为公共IP)
  2. Nginx + Apache(第二个)在内部端口5050(公众5000)

我想从实例2看起来像第一个有限的页面数量。 例如,页面my_public_ip:5000/data应该看起来像my_public_ip/data 。 同时一次应该服务所有其他页面。 你能帮我吗?

我目前的第一个例子NGINX conf:

 server { listen 8080; server_name my_internal_ip; port_in_redirect off; location = /favicon.ico { access_log off; log_not_found off; } location /static/ { root /home/path/to/static; } location / { include proxy_params; proxy_pass http://unix:/home/path/to/gunicorn.sock; } } 

谢谢!

UPDATE。 如果我遵循官方NGINX文档并添加到此configuration:

 location /data/ { proxy_pass http://my_internal_ip:5050/data/; } 

而且在我访问my_public_ip/data它将我redirect到my_public_ip:8080/data但是这个端口在public ip上是closures的。 在此之后,如果我再次访问mydamain.com/data – 它打开页面我需要,但没有静态。 我可以自己解决静态,但有关proxy_pass的任何build议?