Изменение / перезапись URL-адреса Squid

#url #rewrite #squid

#url #переписать #squid

Вопрос:

Мне нужно изменить некоторые специальные URL-адреса, которые передаются через Squid, например: я получаю доступ к адресу www.google.com.vn через моего Кальмара. Я хочу изменить исходный код Squid в каком-то месте для замены www.google.com.vn в www.google.com . Поэтому каждый запрашивает www.google.com.vn станут просьбами к www.google.com

Пожалуйста, помогите ASPS

Ответ №1:

Прежде всего, перезапись и перенаправление squid зависят от стороннего помощника. Самое приятное, что вы можете написать этот помощник на любом языке программирования.

используйте url_rewrite_program директиву в squid.conf и добавьте к ней путь к вашему пользовательскому скрипту. Ваш скрипт получит содержимое со следующим:

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

Очевидно, вам нужна URL часть, поэтому придумайте способ получить часть url и вернуть веб-сайт, на который вы хотите направить клиента.

Надеюсь, это поможет каким-либо образом…

Пример программы перезаписи (C )

 #include <iostream>
#include <string>
using namespace std;
// a replace function :)
bool replace(std::stringamp; str, const std::stringamp; from, const std::stringamp; 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;
     }

}