2

squid-cache による url_rewrite_program は実際に URL をリダイレクトします。つまり、エンドユーザーは「foo から bar にリダイレクトされたページ」という応答を受け取り、ユーザーはリダイレクトされたアドレスに別のリクエストを行います。私はこれをしたくありません。

私が達成したいことは、apache の mod_rewrite に似ています。完全に透過的な書き換えメカニズムが必要です。ユーザーが特定のコンテンツを要求すると、HTTP リダイレクトなしで (最初に要求された URL に関係なく) 応答としてそれを取得できるようになります。

http 経由のリダイレクトを避けたい理由は、エンドユーザーにアプリケーションの内部構造を見せたくないからです。たとえば、彼は「application1.foo.com」を要求し、はるかに長い URL のコンテンツを取得します。したがって、エンドユーザーがそれをブックマークすると、彼は私のきれいな小さな URL (application1.foo.com") をブックマークします。これは、ユーザーをそのような詳細から遠ざけるのに適しています。たとえば、最初に application1.foo.com を badprovider.com/path/to/file.php にマップし、次にそれを goodprovider.com/file.php に変更しても、ユーザーはそれに気付かないでしょう。利点は、たとえば、エンド ユーザーのブックマークが正しいままであり、よりガイド付きの方法で動作を規制できることです。

4

1 に答える 1

1

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 は、リダイレクトするドメインです

于 2011-07-11T13:30:14.057 に答える