An Azure service that delivers high availability and network performance to applications.
Azure Load Balancer Not Passing HTTPS (443) Traffic to Backend VMs Despite Healthy Probes
We have a Standard Azure Load Balancer (azure-lb-primary) in front of two Ubuntu 22.04 VMs running Nginx. HTTP (port 80) is working correctly and all backend instances are healthy. However, HTTPS (port 443) traffic is failing with PR_END_OF_FILE_ERROR / SSL unexpected EOF on the client side.
What we have confirmed:
- Both VMs are healthy in the backend pool
- HTTP:80 health probe passing successfully on both VMs
- SSL certificate is valid and verified (
openssl s_clientconfirms handshake succeeds when connecting directly to the VM) - Nginx is listening on
0.0.0.0:443 - NSG rules allow port 443 inbound
- Minimal Nginx config (no ModSecurity, no custom ciphers) still reproduces the issue
- The SSL EOF error occurs before any HTTP data is exchanged, suggesting the LB is terminating the TLS connection rather than passing it through
Suspected issue: The Load Balancer rule lb-rule_443 (TCP/443) is not transparently passing TLS traffic through to the backend VMs.
Resources:
- Load Balancer:
azure-lb-primary - Frontend IP:
xxx.xxx.xx.xxx - Backend pool:
azure-primary(2 instances:10.10.10.4,10.10.10.5) - Region: (add your Azure region)
- Resource Group: (add your resource group) We have a Standard Azure Load Balancer (
azure-lb-primary)in front of two Ubuntu 22.04 VMs running Nginx. HTTP (port 80) is working correctly and all backend instances are healthy. However, HTTPS (port 443) traffic is failing withPR_END_OF_FILE_ERROR/SSL unexpected EOFon the client side.**What we have confirmed:**- Both VMs are healthy in the backend pool
- HTTP:80 health probe passing successfully on both VMs
- SSL certificate is valid and verified (
openssl s_clientconfirms handshake succeeds when connecting directly to the VM) - Nginx is listening on
0.0.0.0:443 - NSG rules allow port 443 inbound
- Minimal Nginx config (no ModSecurity, no custom ciphers) still reproduces the issue
- The SSL EOF error occurs before any HTTP data is exchanged, suggesting the LB is terminating the TLS connection rather than passing it through
Suspected issue: The Load Balancer rule lb-rule_443 (TCP/443) is not transparently passing TLS traffic through to the backend VMs.
Resources:
- Load Balancer:
azure-lb-primary - Frontend IP:
xxx.xxx.xx.xxx - Backend pool:
azure-primary(2 instances:10.10.10.4,10.10.10.5) - Region: US East