我有几个子域(git.example.org,build.example.org等),我有一个外部IP路由器,我有一台主机上的多个虚拟机与内部ips。 现在我想要将git.example.org路由到内部IP 10.0.2.1,将build.example.org路由到内部IP 10.0.2.2。 我怎样才能做到这一点?
我在路由器上设置了端口80上的所有stream量都通过内部IP 10.0.2.3连接到我的主机,并在该计算机上安装了Squid。
我在squid.conf文件中添加了以下几行:
cache_peer 10.0.2.1 parent 80 0 no-query originserver name=server_1 cache_peer_domain server_1 git.example.org cache_peer 10.0.2.2 parent 80 0 no-query originserver name=server_2 cache_peer_domain server_2 build.example.org
但这不适合我。 :(任何帮助表示赞赏。
问候尼尔斯
更新:这是Apache的解决scheme
https://serverfault.com/a/273693
Squid并不完全是一个反向代理的最佳解决scheme – 它会做足够的刺激,但它不是我将要使用的工具。
对于简单的代理需求,我会使用nginx的HttpProxyModule (或Apache的mod_proxy ,如果你的口味是这样的话),如果caching是一个优先级切换到清漆。 关于使用networking服务器的好处是它们很简单,强大,而且你可能已经使用了它们,因此对它们有了一些了解。 另一方面,清漆是一个更小的利基,但是当你想要caching你的内容的东西,这真的是鸭子的坚果。
但是要记住的一点是,基于名称的代理redirect仅适用于支持指定要连接的服务名称的协议 – 这极大地限制了您的协议select。 所以,如果你做的不是HTTP,你可能想和你的networking提供商讨论几个IP地址(尽pipe我们已经用完了IPv4空间)。 它确实让生活变得如此简单。