使用NGINX作为应用服务器的反向代理,可通过一个IP地址但通过两个不同的端口访问这些应用服务器

时间:2019-09-05 13:31:44

标签: nginx odoo nginx-reverse-proxy

我正在尝试将Nginx用作Odoo部署的反向代理。确实,我有两个实例可以分别在端口8069和8090上访问。考虑到我只有IP地址(我不想使用域名),是否可以为这两个实例配置nginx?

我尝试过这样的事情:

server{
   listen 80 default_server;
   server_name my_ip_address/instance1;

   location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_pass http://localhost:8090;
   }

}

server{
   listen 80;
   server_name my_ip_address/instance2;

   location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_pass http://localhost:8099;
   }

}

我也尝试过

server{
   listen 80 default_server;
   server_name my_ip_address;

   location /instance1 {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_pass http://localhost:8090;
   }

}

server{
   listen 80;
   server_name my_ip_address;

   location /instance2 {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_pass http://localhost:8099;
   }

}

但是当我尝试访问my_ip_address / instance1或my_ip_address / instance2时,都无法正常工作

1 个答案:

答案 0 :(得分:0)

我认为这不可能,因为您还必须重写assetsform动作的路径。

assets包括所有javascript和CSS文件以及图像。

form操作是应将表单数据重定向到的位置。

例如,当您login进入系统时,登录表单会将数据发送到/web/login操作。

您将如何处理?以及您的虚拟主机中的哪个虚拟主机?!

另一方面,尝试使用子域。 或者如果必须使用IP,则使用2个指向同一服务器的IP,并将用作主机的每个IP重定向到您的一个实例。