假设有3台服务器( A , B 且 C ):
B 和 C 都是http服务器,但只有 C 才能运行PHP。
我必须使用PHP从 C 中的 A 中获取MySQL服务器的一些信息,是否可以这样做?
我无法将PHP安装到 B 。
是否可以编写一个将在 C 中运行的PHP页面并将结果返回 B 并返回 A ?
答案 0 :(得分:1)
配置B充当代理。如果它运行Apache,那么请参阅proxypass directive
答案 1 :(得分:1)
你需要让B充当代理人。您只需将收到的请求直接路由到C。
概述...并且您希望获取位于C到A的信息。
(HTTP,PHP) A -----> B (HTTP,PHP)
(HTTP,PHP) A --|| C (HTTP,MySQL)
(HTTP,PHP) B -----> C (HTTP, MySQL)
(HTTP,PHP) A -----> B (HTTP->ProxyPass,PHP)
(HTTP,PHP) A --|| C (HTTP,MySQL)
(HTTP->ProxyPass,PHP) B -----> C (HTTP, MySQL)
A->B(Proxied to)->C
http://httpd.apache.org/docs/2.1/mod/mod_proxy.html#proxypass
假设本地服务器具有地址http://example.com/;然后
ProxyPass /mirror/foo/ http://backend.example.com/
将导致http://example.com/mirror/foo/bar的本地请求在内部转换为http://backend.example.com/bar的代理请求。
答案 2 :(得分:0)
我不明白你的意思是'来自A的C中的mysql服务器'。我假设你的意思是将MySQL数据从A传输到C,因为A不是HTTP服务器(你提到的只有B和C)。您可以将随机端口(例如B上的3310)路由到A上的端口3306,这样您就可以直接从C访问A的MySQL服务器(您必须在A上启用远程访问)。我假设您拥有3台服务器的管理员权限。