Squid ରୁ ଚୟନିତ HTTP ଅନୁରୋଧଗୁଡ଼ିକୁ HTTPS କୁ ପୁନଃନିର୍ଦ୍ଦେଶ କରନ୍ତୁ
ପ୍ରତ୍ୟେକ HTTP ମୂଳ URL କୁ ନୀରବରେ ବଦଳାଇବା କିମ୍ବା ପ୍ରକ୍ସି ମୂଳରେ TLS ସମର୍ଥନ ସୃଷ୍ଟି କରିପାରିବ ବୋଲି ଧରିବା ପରିବର୍ତ୍ତେ ଜଣାଶୁଣା HTTPS-ସକ୍ଷମ ସାଇଟଗୁଡ଼ିକ ପାଇଁ କ୍ଲାୟେଣ୍ଟ ପୁନଃନିର୍ଦ୍ଦେଶ ଫେରାନ୍ତୁ।
Squid ବ୍ରାଉଜରକୁ ଚୟନିତ HTTP URL କୁ HTTPS ମାଧ୍ୟମରେ ପୁନଃ ଚେଷ୍ଟା କରିବାକୁ କହିପାରେ। ଗନ୍ତବ୍ୟ ସ୍ଥାନ ପୂର୍ବରୁ ସମ୍ପୃକ୍ତ ସମ୍ବଳ HTTPS ମାଧ୍ୟମରେ ପ୍ରଦାନ କରୁଥିବା ଆବଶ୍ୟକ; Raspberry Pi ରେ Squid ଚଲାଇବା ୱେବସାଇଟରେ ସେହି କ୍ଷମତା ସୃଷ୍ଟି କରେ ନାହିଁ।
Squid 7 ର url_rewrite_program ଇଣ୍ଟରଫେସ ପାଇଁ, helper ଏପରି କ୍ଲାୟେଣ୍ଟ ପୁନଃନିର୍ଦ୍ଦେଶ ଫେରାଇପାରେ:
OK status=307 url="https://www.example.com/help"
ଏହା ଏକ ମେଳ ଖାଉଥିବା ଅନୁରୋଧ ପାଇଁ ଏକ ଉଦାହରଣ helper ପ୍ରତିକ୍ରିୟା, ସମ୍ପୂର୍ଣ୍ଣ helper ପ୍ରୋଗ୍ରାମ ନୁହେଁ। ବ୍ରାଉଜର ପୁନଃନିର୍ଦ୍ଦେଶ ଗ୍ରହଣ କରେ ଏବଂ HTTPS URL ପାଇଁ ନୂତନ ଅନୁରୋଧ କରେ। ଅପଗ୍ରେଡ ନୀତି ବାହାରର URL OK ପାଇ ଅପରିବର୍ତ୍ତିତ ରହିପାରେ।
HTTPS-ସକ୍ଷମ ଗନ୍ତବ୍ୟର ଏକ ଜଣାଶୁଣା ତାଲିକା ବ୍ୟବହାର କରନ୍ତୁ ଏବଂ ଆସୁଥିବା URL କୁ ବିଶ୍ଳେଷଣ କରନ୍ତୁ। ଉଦ୍ଦିଷ୍ଟ ପଥ ଏବଂ query ସଂରକ୍ଷିତ ରଖନ୍ତୁ, ସ୍ପଷ୍ଟ ପୋର୍ଟକୁ ବିଚାର କରନ୍ତୁ ଏବଂ ଅନୁରୋଧ ପଦ୍ଧତିକୁ ସଚେତନ ଭାବରେ ପରିଚାଳନା କରନ୍ତୁ। ପ୍ରତ୍ୟେକ http ଉପସର୍ଗକୁ ଅନ୍ଧ ଭାବରେ ବଦଳାଇବା ଅର୍ଥ ପ୍ରତ୍ୟେକ ମୂଳ ସହିତ ସମାନ HTTPS ସେବା ଅଛି ବୋଲି ଧରିବା।
helper ସ୍ଥାପିତ Squid ସଂସ୍କରଣର ପ୍ରୋଟୋକଲ ଅନୁସାରେ ପ୍ରତ୍ୟେକ ଇନପୁଟ ଧାଡ଼ିର ଉତ୍ତର ଦେବା ଆବଶ୍ୟକ। ଯଦି ସମକାଳୀନ helper ଚ୍ୟାନେଲ ସକ୍ଷମ ଅଛି, ଉତ୍ତରରେ ଚ୍ୟାନେଲ ପରିଚାୟକ ସଂରକ୍ଷିତ ରଖନ୍ତୁ। ପୁରୁଣା ନଗ୍ନ 301:URL ଉଦାହରଣ ବର୍ତ୍ତମାନର result-and-key/value ଫର୍ମାଟ ସହିତ ବିନିମୟ ଯୋଗ୍ୟ ନୁହେଁ।
ଯେତେବେଳେ ବ୍ରାଉଜର ନୂତନ URL ଜାଣିବା ଆବଶ୍ୟକ, କ୍ଲାୟେଣ୍ଟ ପୁନଃନିର୍ଦ୍ଦେଶ ବାଛନ୍ତୁ। rewrite-url ପ୍ରତିକ୍ରିୟା ବଦଳରେ Squid କୁ କ୍ଲାୟେଣ୍ଟର ମୂଳ ଅନୁରୋଧ ପଛରେ ଅନ୍ୟ URL ଆଣିବାକୁ କହେ, ଯାହା ଆପ୍ର URL ଏବଂ ସ୍ଥିତିକୁ ଅସଙ୍ଗତ ରଖିପାରେ।
ପ୍ରାରମ୍ଭିକ HTTP ଅନୁରୋଧ helper ଦ୍ୱାରା ପୁନଃନିର୍ଦ୍ଦେଶିତ ହେବା ପୂର୍ବରୁ Squid ପର୍ଯ୍ୟନ୍ତ ପହଞ୍ଚି ସାରିଛି। ଏହି ନୀତି ସେହି ଅନୁରୋଧକୁ ପଛକୁ ରକ୍ଷା କରିପାରିବ ନାହିଁ। TLS ପରବର୍ତ୍ତୀ HTTPS ସଂଯୋଗରେ ଆରମ୍ଭ ହୁଏ; କେବଳ CONNECT ଟନେଲ କୌଣସି ଏନକ୍ରିପସନ ଦିଏ ନାହିଁ।