Skip to content

Commit 4410344

Browse files
Merge pull request #220257 from bishal41/update-SSL-inspecting-proxy
Editing the SSL inspecting proxy section
2 parents 8e7494f + 7a741d0 commit 4410344

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

articles/iot-edge/how-to-configure-proxy-support.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -440,9 +440,15 @@ If you included the **UpstreamProtocol** environment variable in the confige.yam
440440

441441
## Working with traffic-inspecting proxies
442442

443-
If the proxy you're attempting to use performs traffic inspection on TLS-secured connections, it's important to note that authentication with X.509 certificates doesn't work. IoT Edge establishes a TLS channel that's encrypted end to end with the provided certificate and key. If that channel is broken for traffic inspection, the proxy can't reestablish the channel with the proper credentials, and IoT Hub and the IoT Hub device provisioning service return an `Unauthorized` error.
443+
Some proxies like [Zscaler](https://www.zscaler.com) can inspect TLS-encrypted traffic. During TLS traffic inspection, the certificate returned by the proxy isn't the certificate from the target server, but instead is the certificate signed by the proxy's own root certificate. By default, this proxy's certificate isn't trusted by IoT Edge modules (including *edgeAgent* and *edgeHub*), and the TLS handshake fails.
444444

445-
To use a proxy that performs traffic inspection, you must use either shared access signature authentication or have IoT Hub and the IoT Hub device provisioning service added to an allowlist to avoid inspection.
445+
To resolve this, the proxy's root certificate needs to be trusted by both the operating system and IoT Edge modules.
446+
447+
1. Configure proxy certificate in the trusted root certificate store of your host operating system. For more information about how to install a root certificate, see [Install root CA to OS certificate store](how-to-manage-device-certificates.md#install-root-ca-to-os-certificate-store).
448+
449+
2. Configure your IoT Edge device to communicate through a proxy server by referencing the certificate in the trust bundle. For more information on how to configure the trust bundle, see [Manage trusted root CA (trust bundle)](how-to-manage-device-certificates.md#manage-trusted-root-ca-trust-bundle).
450+
451+
To configure traffic inspection proxy support for containers not managed by IoT Edge, contact your proxy provider.
446452

447453
## Fully qualified domain names (FQDNs) of destinations that IoT Edge communicates with
448454

articles/iot-edge/how-to-manage-device-certificates.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ Using a self-signed certificate authority (CA) certificate as a root of trust wi
102102
```bash
103103
sudo iotege config apply
104104
```
105+
### Install root CA to OS certificate store
105106
106107
Installing the certificate to the trust bundle file makes it available to container modules but not to host modules like Azure Device Update or Defender. If you use host level components or run into other TLS issues, also install the root CA certificate to the operating system certificate store:
107108
@@ -110,7 +111,7 @@ Installing the certificate to the trust bundle file makes it available to contai
110111
```bash
111112
sudo cp /var/aziot/certs/my-root-ca.pem /usr/local/share/ca-certificates/my-root-ca.pem.crt
112113
113-
sudo update-ca-certificates
114+
sudo update-ca-trust
114115
```
115116
116117
# [IoT Edge for Linux on Windows (EFLOW)](#tab/windows)

0 commit comments

Comments
 (0)