Share via

Azure Load Balancer Not Passing HTTPS (443) Traffic to Backend VMs Despite Healthy Probes

Danny Yim 0 Reputation points
2026-06-09T15:26:07.25+00:00

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_client confirms 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 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_client confirms 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
Azure Load Balancer
Azure Load Balancer

An Azure service that delivers high availability and network performance to applications.


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.