我有一个公网 IP,需要维护两台 Web 服务器,因此我决定使用反向代理服务器。我的代理服务器使用 NGNIX,后端代理服务器使用 Apache。
10.1.1.3是Nginx的ip
10.1.1.5 是 Apache 的 ip
我希望一个应用程序在 domain.com/project 上可用,另一个在 domain.com/application2 上可用
由于我仍在学习,因此我尝试使 nginx 的配置尽可能简单:
server{
listen 80;
location /project {
rewrite /project / break;
proxy_pass http://10.1.1.5:80;
}
}
我正在尝试在 Apache Web 服务器上访问项目应用程序,但问题是项目应用程序没有 URL 10.1.1.50:80/project,所以我尝试重写它。它成功了,我可以通过 domain.com/project 访问服务器,但如果我尝试输入任何链接(例如创建帐户),它会将链接更改为 domain.com/account/register,而代理服务器需要 domain.com/project/account/register 才能工作。是否可以保留 URI 的项目部分以供以后的请求使用?
答案1
server{
listen 80;
server_name domain.com;
location ~ ^/project?(.*)
{
proxy_pass http://10.1.1.5:80$1$is_args$args;
}
}
可能你需要这样的东西。