如果可能,我如何使用nginx将流量路由到不同的IP地址?
我有一个域和两个不同的服务器,我想要提供内容。主网站正在http://example.com上运行,目前正常运行。我有一个论坛,我想用URL运行http://www.example.com/forum,但论坛代码/文件位于不同的服务器上,与主网站运行的托管公司不同。
如何使用nginx强制它,以便当用户输入http://example.com/forum时,它会从其他服务器加载内容,但对最终用户来说,它将是透明的。
这是否可行,如果可以,我会采取什么步骤来设置它?
答案 0 :(得分:2)
为此,您需要配置nginx以从两个不同的服务器提供服务。
location /
将从应用服务器提供,location /forum
应该从论坛服务器提供服务。
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;
}
}
}