I have issue with connectivity using Azure IoT Edge behind Zscaler. I know that I need to somehow install the ZScaler cerificate on host machine and Docker containers. I was able to install it in Ubuntu server and it worked because right now I get green indicate that host can connect to azure-devices.net. But it still can't connect from container network. Can anyone provide me details how to do that? From what I understand I should provide the info to edgeHub and edgeAgent DockerFile, I just can't locate them. Will i need to build new images for that? Because edgeAgent doesn't have connectivity to cloud I can't modify anything in the deploy manifest.
How to add ZScaler certificate to edgeHub and edgeAgent?
593 views Asked by Maci3jPy At
1
There are 1 answers
Related Questions in AZURE-IOT-HUB
- Delay in loading Html Page(WebView) from assets folder in real android device
- MPAndroidChart method setWordWrapEnabled() not found
- Designing a 'new post' android activity
- Android :EditText inside ListView always update first item in the listview
- Android: Transferring Data via ContentIntent
- Wrong xml being inflated android
- AsyncTask Class
- Unable to receive extras in Android Intent
- Website zoomed out on Android default browser
- Square FloatingActionButton with Android Design Library
Related Questions in AZURE-IOT-EDGE
- Delay in loading Html Page(WebView) from assets folder in real android device
- MPAndroidChart method setWordWrapEnabled() not found
- Designing a 'new post' android activity
- Android :EditText inside ListView always update first item in the listview
- Android: Transferring Data via ContentIntent
- Wrong xml being inflated android
- AsyncTask Class
- Unable to receive extras in Android Intent
- Website zoomed out on Android default browser
- Square FloatingActionButton with Android Design Library
Related Questions in AZURE-IOT-HUB-DEVICE-MANAGEMENT
- Delay in loading Html Page(WebView) from assets folder in real android device
- MPAndroidChart method setWordWrapEnabled() not found
- Designing a 'new post' android activity
- Android :EditText inside ListView always update first item in the listview
- Android: Transferring Data via ContentIntent
- Wrong xml being inflated android
- AsyncTask Class
- Unable to receive extras in Android Intent
- Website zoomed out on Android default browser
- Square FloatingActionButton with Android Design Library
Related Questions in ZSCALER
- Delay in loading Html Page(WebView) from assets folder in real android device
- MPAndroidChart method setWordWrapEnabled() not found
- Designing a 'new post' android activity
- Android :EditText inside ListView always update first item in the listview
- Android: Transferring Data via ContentIntent
- Wrong xml being inflated android
- AsyncTask Class
- Unable to receive extras in Android Intent
- Website zoomed out on Android default browser
- Square FloatingActionButton with Android Design Library
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
You can use a bind to mount the required certificate into the edgeAgent and edgeHub containers. What you mount will vary upon if you are using Edge 1.1 or 1.2.
For Edge 1.1, you will need to copy the ca-certificates.crt file from /etc/ssl/certs on the container, append the Zscaler root certificate (in pem format) to that file, and then mount it to each container with a bind as /etc/ssl/certs/ca-certificates.crt. Your config.yaml should look something like this:
For Edge 1.2, you will need to generate the hash value of the certificate that is used by OpenSSL to find the correct root certificate. You can do this with the command:
where zscalerroot.crt is your Zscaler root. This will create a symbolic link with eight hex digits followed by .0 to your zscaler certificate. You can then bind the Zscaler root certificate into /etc/openssl/certs but name it in the container with the name you just generated. Your config.toml should look something like this snippet:
Where the 001122ff.0 is the name generated by the ln command.
You will also need to add the bind into the deployment JSON. This will be in the runtime settings in the Azure portal when you use the set modules functionality. You need to add it to the HostConfig.
For edgeAgent under 1.1 for example:
And for edgeAgent under 1.2:
You will need to add a similar bind to edgeHub's runtime settings too.
Caveat: I have got this to work with Edge 1.1. I have not had an opportunity to test the 1.2 yet.