Docker ପ୍ରକ୍ସି କ୍ରେଡେନ୍ସିଆଲ: URL ଏନକୋଡିଂ ଏବଂ systemd ପ୍ରତିଶତ ଏସ୍କେପ
ପ୍ରକ୍ସି କ୍ରେଡେନ୍ସିଆଲର ଉପାଦାନଗୁଡ଼ିକୁ ପ୍ରତିଶତରେ ଏନକୋଡ୍ କରନ୍ତୁ, ତାପରେ ସେହି ପ୍ରତିଶତ ଚିହ୍ନଗୁଡ଼ିକୁ systemd Environment ଆସାଇନମେଣ୍ଟ ମାଧ୍ୟମରେ ସଂରକ୍ଷିତ ରଖନ୍ତୁ।
ଡୋମେନ-ଶୈଳୀର ପ୍ରକ୍ସି ଉପଯୋଗକର୍ତ୍ତା ନାମରେ ବ୍ୟାକସ୍ଲାସ ରହିପାରେ, ଏବଂ ପାସୱାର୍ଡରେ URI ସିନ୍ଟାକ୍ସ ଦ୍ୱାରା ସଂରକ୍ଷିତ ଅକ୍ଷର ରହିପାରେ। ପ୍ରକ୍ସି URL ନିର୍ମାଣ କରିବା ସମୟରେ ସେହି କ୍ରେଡେନ୍ସିଆଲ ଉପାଦାନଗୁଡ଼ିକୁ ଏନକୋଡ୍ କରନ୍ତୁ: ଉଦାହରଣ ସ୍ୱରୂପ ବ୍ୟାକସ୍ଲାସ %5C ହୋଇଯାଏ।
systemd ସେବାର Environment ଆସାଇନମେଣ୍ଟ ଆଉ ଏକ ପାର୍ସର ଯୋଡେ। ୟୁନିଟ କନଫିଗରେସନରେ ଥିବା ଆକ୍ଷରିକ ପ୍ରତିଶତ ଚିହ୍ନଗୁଡ଼ିକୁ ଦ୍ୱିଗୁଣିତ କରିବାକୁ ପଡ଼ିବ:
[Service]
Environment="HTTPS_PROXY=http://DOMAIN%%5Cproxy-user:example%%[email protected]:8080"
ଉଦାହରଣ ମୂଲ୍ୟଗୁଡ଼ିକ ଏକ ଡୋମେନ ଉପଯୋଗକର୍ତ୍ତା ନାମ ଏବଂ # ଥିବା ପାସୱାର୍ଡକୁ ବୁଝାଏ। systemd %% କୁ % ରେ ପରିଣତ କରେ, ଏନକୋଡ୍ ହୋଇଥିବା URL ଡେମନ ପାଇଁ ଛାଡ଼ିଦିଏ। ସେହି ଗନ୍ତବ୍ୟ ସ୍କିମକୁ ମଧ୍ୟ ଏହି ପଥ ଦରକାର ହେଲେ ସମ୍ପୃକ୍ତ HTTP_PROXY ଆସାଇନମେଣ୍ଟ ଯୋଡନ୍ତୁ।
ଦ୍ୱିଗୁଣିତ ପ୍ରତିଶତ systemd ସିନ୍ଟାକ୍ସ। ଏହାର ବିପରୀତରେ Docker ର daemon.json ପ୍ରକ୍ସି ମୂଲ୍ୟରେ %5C ଏବଂ %23 ପରି ସାଧାରଣ URI ଏସ୍କେପ ଥାଏ। ୟୁନିଟ ଫାଇଲର ବନାନକୁ ଅପରିବର୍ତ୍ତିତ ଭାବରେ JSON କିମ୍ବା କ୍ଲାଏଣ୍ଟର ପ୍ରକ୍ସି URL ଫିଲ୍ଡକୁ କପି କରନ୍ତୁ ନାହିଁ।
କନଫିଗର ହୋଇଥିବା ଉତ୍ସକୁ ମଧ୍ୟ ଦୃଷ୍ଟିରେ ରଖନ୍ତୁ। Docker ଦଲିଲିତ କରେ ଯେ ଡେମନ ପ୍ରକ୍ସି କନଫିଗରେସନ ପ୍ରକ୍ସି ପରିବେଶ ଚର ଉପରେ ପ୍ରାଥମିକତା ପାଏ; ତେଣୁ ପୁରୁଣା JSON ମୂଲ୍ୟ ଏକ ସଂଶୋଧିତ ସେବା ପରିବେଶ ଲୁଚାଇପାରେ।