Squid-ի PROXY արձանագրություն․ վստահեք ուղարկողին նախքան HTTP մուտքի ստուգումները
Squid-ի PROXY արձանագրության ուղարկողի ստուգումները առանձին պահեք նպատակակետ տիրույթի և հաճախորդի հարցման թույլտվությունից։
Օգտագործեք 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 հաճախորդը չի կարող օգտագործել պարտադիր նախածանցով այս լսողը որպես սովորական պրոքսի վերջնակետ։ Եթե երկու ձևերն էլ անհրաժեշտ են, օգտագործեք դիտավորյալ առանձին վերջնակետեր՝ նույն լսող հասցեն և պորտը կրկնօրինակելու փոխարեն։
Վստահելի ռելեն կարող է ազդել հասցեի վրա հիմնված լիազորման վրա իր մատակարարած հաճախորդի ինքնության միջոցով։ Տրամադրեք այդ հնարավորությունը միայն նախատեսված միջնորդին։