如何重写Squid-Cache内部URL?

时间:2011-07-06 07:07:23

标签: http mod-rewrite redirect rewrite squid

squid-cache的

url_rewrite_program确实重定向了URL。换句话说,最终用户得到一个回复​​,上面写着“从foo到bar的重定向页面”,然后用户再次向重定向地址发出请求。我不想要这个。

我想要实现的是类似于apache的mod_rewrite。我想要一个非常透明的重写机制。这样用户就可以请求特定内容,并且无需任何HTTP重定向即可将其作为响应(无论其初始请求的URL如何)。

我想避免通过http重定向的原因是因为我不希望最终用户看到内部应用程序结构。例如,他请求“application1.foo.com”,并且他获得了更长的URL的内容。因此,如果最终用户为其添加书签,他会将我的干净的小URL(application1.foo.com)书签,这样可以使用户远离这些详细信息,即使我将其更改为最终,也会为他们提供统一的服务URL例如,我最初可能会将application1.foo.com映射到badprovider.com/path/to/file.php,然后将其更改为goodprovider.com/file.php,用户将不会注意到这一点。例如,最终用户书签将保持正确,并以更具指导性的方式规范其行为。

1 个答案:

答案 0 :(得分:1)

您是否尝试使用'加速'模式将squid设置为反向代理?它对我有用:

acl all src all

http_port 3128 accel vhost
cache_peer 127.0.0.1 parent 80 0 no-query originserver name=myAccel
acl our_sites dstdomain your_domain.net
http_access allow our_sites
http_access deny all
cache_peer_access myAccel allow our_sites
cache_peer_access myAccel deny all
negative_ttl 0

access_log /var/log/squid/access.log squid
hosts_file /etc/hosts
coredump_dir /var/spool/squid

your_domain.net是您要重定向的域