这是设置。 我们有一个带有虚拟集群的硬件负载平衡器。 我们称之为虚拟集群example1.com。 这个虚拟集群负载均衡在两个鱿鱼反向代理之间,这些代理也与Web服务器在同一物理服务器上。 Squid在80上侦听,并指向自己作为在81上侦听的cache_peer web服务器。我们也有一个独立的web服务器,我们将称之为example2.com。
我们要做的是在example1.com上创build一个名为example1.com/example2的子目录。 这将指向example2.com,但我们希望我们的用户在浏览器中停留在example1.com/example2。 所以,这就像一个redirect,而不是实际上是一个redirect。 我该怎么做呢? 这甚至有可能吗? 我正在看鱿鱼文件在此期间。
我可能在这里错过了一些东西,但是这听起来很直截了当。 负载平衡URLpath匹配^/example2/到example2.com Web服务器的所有请求。
将所有网站内容从目录根目录移动到example2.com Web服务器上名为/example2/的子目录。
我得到了它的工作。 我重新configurationsquid使用urlpath_regex acl并将example2.com设置为二级caching对等。 然后我设置example2.com来允许/ example2,但是否定所有其他的。 然后为example1.com,我把它设置为拒绝/ example2。 它按预期工作。 这是configuration文件的样子。
acl redirect urlpath_regex ^ / example2 *
cache_peer example1.com parent 81 0 no-query originserver name = server1
cache_peer example2.com parent 80 0 no-query originserver name = server2
cache_peer_access server1拒绝redirect
cache_peer_access server2允许redirect
cache_peer_access server2拒绝全部
如果我转到example1.com/example2,它将从example2.com中提取内容,但example1.com URL保留在浏览器中。