VS Code Dev Containers: NODE_EXTRA_CA_CERTS କନଫିଗର କରନ୍ତୁ
କଣ୍ଟେନର ଭିତରେ ପଢ଼ାଯାଇପାରୁଥିବା PEM ଫାଇଲ ବ୍ୟବହାର କରି VS Code ର ରିମୋଟ Node ପ୍ରକ୍ରିୟାର ପରିବେଶରେ NODE_EXTRA_CA_CERTS ସେଟ କରନ୍ତୁ।
ପ୍ରଥମେ ଅନୁମୋଦିତ PEM CA ଫାଇଲକୁ dev କଣ୍ଟେନର ଭିତରେ ରଖନ୍ତୁ କିମ୍ବା ମାଉଣ୍ଟ କରନ୍ତୁ। ହୋଷ୍ଟ ବ୍ରାଉଜରର ବିଶ୍ୱାସ ଏବଂ କେବଳ ହୋଷ୍ଟରେ ଥିବା ପଥ ତାହାର Node ପ୍ରକ୍ରିୟାକୁ ସାର୍ଟିଫିକେଟ ବାଇଟ ଦିଏ ନାହିଁ।
ତା'ପରେ ଏହାକୁ VS Code ଏବଂ ସମ୍ପୃକ୍ତ ଉପପ୍ରକ୍ରିୟା ପାଇଁ ବିଦ୍ୟମାନ .devcontainer/devcontainer.json ରେ ମିଶାନ୍ତୁ:
"remoteEnv": {
"NODE_EXTRA_CA_CERTS": "/usr/local/share/certs/corporate-ca.pem"
}ପଥଟି କଣ୍ଟେନର ଭିତରେ ଅଛି। ସମ୍ପୃକ୍ତ Node ପ୍ରକ୍ରିୟା ଏହା ସହିତ ଆରମ୍ଭ ହେବା ପାଇଁ Dev Containers ଜୀବନଚକ୍ର ମାଧ୍ୟମରେ ପୁନଃ ବିଲ୍ଡ କିମ୍ବା ପୁନଃ ଖୋଲନ୍ତୁ।
NODE_EXTRA_CA_CERTS ଆରମ୍ଭ ସମୟରେ Node ର CA ସେଟକୁ ବିସ୍ତାର କରେ। ପରେ process.env ବଦଳାଇଲେ ସେହି ସେଟ ପୁନଃ ଲୋଡ ହୁଏ ନାହିଁ, ଏବଂ ସ୍ପଷ୍ଟ ca ବିକଳ୍ପ ଥିବା କ୍ଲାଏଣ୍ଟ ଅନ୍ୟ ବିଶ୍ୱାସ ଉତ୍ସ ବାଛିପାରେ।
ସମଗ୍ର କଣ୍ଟେନର ପାଇଁ ପରିବେଶ ଦରକାର ହେଲେ image/Dockerfile କନଫିଗରେସନ ସହିତ containerEnv କିମ୍ବା Compose ସେବାର ପରିବେଶ ବ୍ୟବହାର କରନ୍ତୁ; remoteEnv ପ୍ରତ୍ୟେକ ପ୍ରକ୍ରିୟାକୁ ଢାଙ୍କେ ବୋଲି ଧରନ୍ତୁ ନାହିଁ।
ଏହା NODE_TLS_REJECT_UNAUTHORIZED=0 ବିନା ବିଶ୍ୱାସ ଯୋଗାଏ। ପ୍ରକ୍ସି ଚୟନ ଅଲଗା ରହେ: CA ସଂଯୋଗକୁ listener କୁ ନେଇପାରେ ନାହିଁ କିମ୍ବା ପହଞ୍ଚିନପାରୁଥିବା endpoint ଠିକ କରିପାରେ ନାହିଁ।