Как переписать внутренний URL-адрес Squid-Cache? - PullRequest
2 голосов
/ 06 июля 2011

url_rewrite_program от squid-cache действительно перенаправляет URL.Другими словами, конечный пользователь получает ответ, который говорит «перенаправленная страница с foo на панель», а затем пользователь делает еще один запрос на перенаправленный адрес.Я не хочу этого.

то, чего я хочу достичь, похоже на mod_rewrite в apache.Я хочу абсолютно прозрачный механизм переписывания.Таким образом, пользователь запрашивает конкретное содержимое и получает его в качестве ответа (независимо от своего первоначального запрошенного URL) без какого-либо перенаправления HTTP.

причина, по которой я хочу избежать перенаправления через http, заключается в том, что я нене хочу, чтобы конечный пользователь видел внутренние структуры приложения.Например, он запрашивает «application1.foo.com» и получает содержимое URL, который намного длиннее.Так что, если конечный пользователь добавляет его в закладки, он добавляет в закладки мой чистый маленький URL (application1.foo.com ", это хорошо, чтобы держать пользователей подальше от таких деталей, в конечном итоге он дает им единый URL для службы, даже если я изменю его вНапример, я мог бы сначала сопоставить application1.foo.com с badprovider.com/path/to/file.php, а затем изменить его на goodprovider.com/file.php, и пользователь этого не заметит.Преимущество состоит, например, в том, что закладки конечного пользователя будут оставаться правильными, а также будут регулировать их поведение более управляемым образом.

1 Ответ

1 голос
/ 11 июля 2011

Вы пробовали установить squid в качестве обратного прокси в режиме 'Accel'?Это сработало для меня:

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 - это домен, который вы хотите перенаправить

...