Пратакол PROXY у Squid: давярайце адпраўніку да праверкі доступу па HTTP
Трымайце праверкі адпраўніка пратаколу PROXY у Squid асобна ад аўтарызацыі домена прызначэння і запыту кліента.
Выкарыстоўвайце proxy_protocol_access, каб давяраць рэле, якое падае метаданыя, а не каб выбіраць дазволеныя сайты. У Squid 5–7 праверка выконваецца адзін раз пасля ўсталявання TCP на слухачы require-proxy-header, перад апрацоўкай загалоўкаў HTTP-запыту:
acl trusted_relay src 192.0.2.20/32
http_port 3128 require-proxy-header
proxy_protocol_access allow trusted_relay
proxy_protocol_access deny allЗамяніце прыкладны адрас рэле і абмяжуйце сеткавы доступ да гэтага слухача. На гэтым этапе Squid правярае фактычнага TCP-партнёра, перш чым прыняць пададзеныя метаданыя. Пасля прыняцця ён выкарыстоўвае заяўлены адрас кліента для наступных праверак ACL і журналявання. Давер да рэле на падставе адраса кліента, які яно заяўляе, перавярнуў бы гэты парадак.
Пакіньце http_access для пазнейшых дазволаў на крыніцу кліента і прызначэнне. Прыняцце метаданых не аўтарызуе доступ да сайтаў, і ACL домена прызначэння не можа адказаць на папярэдняе пытанне пра давер да адпраўніка.
Адпраўнік і атрымальнік павінны пагадзіцца на падтрыманую версію пратаколу PROXY. Звычайны HTTP-кліент не можа выкарыстоўваць гэты слухач з абавязковым прэфіксам як звычайную канчатковую кропку проксі. Калі патрэбныя абедзве формы, выкарыстоўвайце наўмысна асобныя канчатковыя кропкі замест дублявання таго ж адрасу праслухоўвання і порта.
Даверанае рэле можа ўплываць на аўтарызацыю па адрасе праз ідэнтычнасць кліента, якую яно падае. Дайце гэтую магчымасць толькі прадугледжанаму пасярэдніку.