相关疑难解决方法(0)

如何将请求从一个 apache 服务器传递到另一个

我有两个启用了 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)“重定向”到另一台服务器。

我不想使用另一个端口重定向。

mod-rewrite reverse-proxy mod-proxy apache-2.2

7
推荐指数
1
解决办法
5万
查看次数

如何使用 nginx 将请求代理到内部服务器?

我已经设置了一个 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)

但是应该有一种在代理时隐藏实际服务器地址的方法。

nginx proxy reverse-proxy

4
推荐指数
2
解决办法
3万
查看次数