我有两个启用了 mod_proxy 的 Apache 服务器。我想知道如何使用相同的端口 (80) 从“Apache Server A”“传递请求”到“Apache Server B”。
在内部 ip 为 192.168.0.5 的“服务器 A”中,我配置了 DNS,并将其用作我的邮件服务器。
在内部 IP 为 192.168.0.10 的“服务器 B”中,我有自己的云服务器。
今天,当我访问 wwww.mydomain.com 或 www.mydomain.com/webmail 时一切正常,因为内容都在“服务器 A”中,我需要的是当有人尝试访问 owncloud.mydomain.com 时,他们可以访问我的服务器 B没有将它们重定向到另一个端口,如 owncloud.mydomain.com:81,我只想使用端口 80。
实际上我得到了一个重定向循环,因为当我尝试重定向时,我猜“服务器 A”自己得到了相同的请求。我已将我的虚拟主机设置为在同一个“服务器 A”中工作,我想要的是使用相同的端口和 URL(owncloud.mydomain.com)“重定向”到另一台服务器。
我不想使用另一个端口重定向。
我已经设置了一个 Web 服务器来在http://localhost:3000上查看我的存储库(一个 Gitalist 实例),我想使用 nginx 设置一个代理。
我希望在接收到 DOMAIN/git/ 之类的 URI 时将请求代理到我的存储库视图。
我当前的 nginx 配置声明如下:
location /git {
proxy_pass http://localhost:3000/;
}
Run Code Online (Sandbox Code Playgroud)
请求确实被代理到服务器,但没有任何图像/链接或 css 可以解析,因为它们指向“ http://localhost:3000/logo.png ”例如。
编辑
如果我 proxy_pass 到实际服务器地址,它确实有效:
location /git {
proxy_pass http://192.168.1.111:3000/;
}
Run Code Online (Sandbox Code Playgroud)
但是应该有一种在代理时隐藏实际服务器地址的方法。