1

Squidを介して渡されるいくつかの特別なURLを変更する必要があります。たとえば、Squid全体でアドレスwww.google.com.vnにアクセスします。www.google.com.vnをwww.google.comに置き換える場所でSquidのソースコードを変更したいと思います。したがって、www.google.com.vnへのすべてのリクエストは、www.google.comへのリクエストになります。

ASPSを助けてください

4

1 に答える 1

3

まず、squid の書き換えとリダイレクトはサードパーティのヘルパーに依存します。最良の部分は、このヘルパーを任意のプログラミング言語で記述できることです。

squid.confのディレクティブを使用しurl_rewrite_programて、カスタム スクリプトへのパスを追加します。スクリプトは、次のコンテンツを受け取ります。

URL client_ip "/" fqdn user method [ kvpairs]\n

明らかにこの部分が必要なURLので、URL 部分を取得して、クライアントを誘導したい Web サイトを返す方法を考えてください。

何らかの形でお役に立てば幸いです...

書き換えプログラムの例 (C++)

#include <iostream>
#include <string>
using namespace std;
// a replace function :)
bool replace(std::string& str, const std::string& from, const std::string& to) {
size_t start_pos = str.find(from);
if(start_pos == std::string::npos)
    return false;
str.replace(start_pos, from.length(), to);
return true;
}


int main()
{
     while(1)
     {
        string input;
        cin >> input;
        replace(input, "www.google.vn", "www.google.com");
        cout << input << endl;
     }

}
于 2012-01-26T11:52:17.563 に答える