Znaleziony błąd w Squid-ie – nie w kodzie, w konfiguracji

Od pewnego czasu borykałem się z problemem wysyłania plików poprzez proxy. Proxy jest postawione na moim domowym serwerze na pakiecie Squid pod systemem Debian. Otóż o co chodzi. Gdy przeglądarka korzystała z proxy, to na strony takie jak SkyDrive, ImageShack, pliki instalacyjne na bloga nie mogła wysyłać plików większych niż określony rozmiar. Na początku ten problem ignorowałem, ale z czasem zaczęło to mnie coraz bardziej denerwować. Otóż dzisiaj zauważyłem jedną rzecz. Wysłałem za pomocą przeglądali plik o wielkość około 260 Kb. Wysłał się bez problemu. Jednak gdy chciałem wysłać plik o wielkości 563 Kb, proxy nawet nie zaczął wysyłać. Od razu zerknąłem na plik squid.conf i zauważyłem, że ustawienia:

request_header_max_size

oraz

request_body_max_size

mają ustawione wartości po 512 KB. Więc w ramach testów zmieniłem na 512 MB, i po restarcie Squid-a plik został bezproblemowo wysłany na serwer. Za co więc odpowiadają te ustawienia ?

request_body_max_size odpowiada za maksymalne żądanie POST. Mówiąc bardziej po ludzku, definiuje maksymalny rozmiar wysyłanego zapytania do danego serwisu. Jeżeli ten rozmiar zostanie przekroczony, Squid zgłosi błąd Invalid Request.

request_header_max_size
definiuje maksymalny rozmiar nagłówka, który może zostać wysłany. Powiem szczerze, zaszalałem z tą wartością 512 MB przy tej opcji, i będzie lepiej, jak ustawie ją z powrotem na 512 KB. Gdyby ktoś to wyłapał, to mam pewnego DOS-a.

Serwer był postawiony w lipcu 2010 roku i dlaczego dopiero teraz doszedłem co jest skopane ? Pewnie przez to, że plik squid.conf był modyfikowany setki razy w poszukiwaniu najlepszej konfiguracji i sam już powoli zapominałem co jest co z nadmiaru opcji. Gdy zaś już znalazłem tą odpowiednią konfigurację, po prostu jej nie ruszałem, bo wszystko dobrze chodziło. To też miało wpływ na „pamiętliwość” znaczenia pewnych funkcji. Jednak od dzisiaj, gdy plik został odświeżony, wszystko powinno wyśmienicie śmigać. A jak nie, to będziemy dalej szukać.

P.S. Ciekawe, czy się nie wysypie podczas aktualizacji do Debiana Squeeze ;-)