如何配置nginx路由到不同的IP?

时间:2016-09-26 07:38:52

标签: node.js apache nginx

如果可能,我如何使用nginx将流量路由到不同的IP地址?

我有一个域和两个不同的服务器,我想要提供内容。主网站正在http://example.com上运行,目前正常运行。我有一个论坛,我想用URL运行http://www.example.com/forum,但论坛代码/文件位于不同的服务器上,与主网站运行的托管公司不同。

如何使用nginx强制它,以便当用户输入http://example.com/forum时,它会从其他服务器加载内容,但对最终用户来说,它将是透明的。

这是否可行,如果可以,我会采取什么步骤来设置它?

1 个答案:

答案 0 :(得分:2)

为此,您需要配置nginx以从两个不同的服务器提供服务。 location /将从应用服务器提供,location /forum应该从论坛服务器提供服务。

Digital Ocean Guide

http{
    server {
        listen 80;
        server_name example.com ;

        location /forum {
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Host $http_host;
          proxy_set_header X-NginX-Proxy true;

          proxy_pass http://forum-server:port;
          proxy_redirect off;
        }

        location / {
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Host $http_host;
          proxy_set_header X-NginX-Proxy true;

          proxy_pass http://app-server:port;
          proxy_redirect off;
        }
    }   
}