Re: Squid nie wstaje, po "instalacji" lms-squid-warnings.
Dnia 2005-03-10 08:50, Marcin Król napisał :
A.L.E.C wrote:
Marcin Król wrote:
Właściwie już sobie poradziłeś, ale podpowiem reszcie. Redirector zamyka się najczęściej na skutek błędu (fatalnego), przez co nie może kontynuować pracy. Zamknięcie się wszystkich redirectorów oznacza niemożliwość kontynuowania pracy przez squida co też sygnalizuje. Najprościej uruchomić redirector w trybie interaktywnym, wklepać jakiś tekst i zobaczyć jaki komunikat błędu wypluwa.
no to jeszcze ja dodam, że u mnie objawy były identyczne, a redirector z ręki działał poprawnie, więc to nie jest 100% sposób na wykrycie problemu.
Ale wiesz, do bazy zdalnej to on projektowany nie był ;)
A u mnie jest zdalna baza MySQL, serwer stoi na zewnętrznym IP i nie jest w adresacji LAN'a :-D PS: zamiast "xxx.xxx.xxx.xxx" należy wpisać z jakim adresem IP ma być widoczne wyjście z serwera PROXY, albo można ukryć całkiem klientów wewnątrz LAN'a... Wybór należy do Was :) -- Pozdrawiam, Wiktor R. Braun --- squid_warnings/lms-squid-warnings 2005-03-02 21:27:52.000000000 +0100 +++ /etc/squid/warnings 2005-03-11 00:09:03.024267296 +0100 @@ -43,9 +43,12 @@ my $dbuser = $ini->val('database', 'user') || 'root'; my $dbpasswd = $ini->val('database', 'password') || ''; my $dbname = $ini->val('database', 'database') || 'lms'; my $redirect = $ini->val('squid-warnings', 'redirect') || 'http://lms.rulez.pl/'; -while ($adres = <STDIN>) { +#open (LOG, ">/tmp/squid-$$.log"); + +while (<STDIN>) { my $adres = $_; if ((!defined($dbase))||($dbase->state)) { if($dbtype eq "mysql") @@ -69,17 +72,22 @@ $dbq = $dbase->prepare_cached("SELECT warning FROM nodes WHERE ipaddr=INET_ATON(?)"); } - @lista = split(' ', $adres); - @ip = split('/', $lista[1]); - $dbq->execute($ip[0]); - my $row = $dbq->fetchrow_hashref(); - if ($row->{'warning'}=='1') { - if (!($lista[0] =~ m/$redirect/)) { - $lista[0] = $redirect."?oldurl=".$lista[0]; - $adres = join(' ',@lista)."\n"; + @lista = split(' ', $adres); + @ip = split('/', $lista[1]); + $lista[1]="$ip[0]/xxx.xxx.xxx.xxx"; + if ($lista[3]=='GET') { +# @ip = split('/', $lista[1]); + $dbq->execute($ip[0]); + my $row = $dbq->fetchrow_hashref(); + if ($row->{'warning'}=='1') { + if (!($lista[0] =~ m/$redirect/)) { + $lista[0] = $redirect."?oldurl=".$lista[0]; + } } } + $adres = join(' ',@lista)."\n"; print $adres; +# print LOG "$adres"; } +#close (LOG); + $dbq->finish; $dbase->disconnect();
uczestnicy (1)
-
Wiktor R. Braun