OpenLiteSpeed 1.9.0 PROXY Protocol with Nginx Stream causes HTTPS handshake failure

#1
Hello,

I am trying to use the newly introduced PROXY Protocol support in OpenLiteSpeed 1.9.0 with an Nginx Stream proxy, but I have not been able to get it working.

Environment
  • OpenLiteSpeed 1.9.0
  • Nginx Stream on a VPS
  • WireGuard tunnel between VPS and home server
Network topology:
Internet


Nginx Stream (VPS)

WireGuard

OpenLiteSpeed (Home Server)

Nginx Stream configuration
stream {
upstream home_https {
server 10.100.100.2:443;
}

server {
listen 443;
proxy_pass home_https;
proxy_protocol on;
}
}

OpenLiteSpeed configuration
tuning {
proxyProtocolIP 10.100.100.1
}

10.100.100.1 is the WireGuard IP of the VPS and is the source IP that OpenLiteSpeed sees for incoming connections.

Behavior
  • If proxy_protocol on; is disabled on Nginx Stream, the website loads normally over HTTPS.
  • If proxy_protocol on; is enabled, HTTPS immediately fails in the browser with ERR_SSL_VERSION_OR_CIPHER_MISMATCH.
The HTTPS listener itself is working correctly, as direct connections to the origin succeed without any issues.

Questions
  1. Is the above configuration sufficient to enable PROXY Protocol in OpenLiteSpeed?
  2. Is proxyProtocolIP the only required setting, or are there additional directives needed?
  3. Does PROXY Protocol currently work with HTTPS listeners in OpenLiteSpeed 1.9.0?
  4. Is there a working example of OpenLiteSpeed behind Nginx Stream using PROXY Protocol?
I would appreciate any guidance or a minimal working configuration example.
Thank you.
 
#2
I use haproxy for testing purposes, and it works from my test.
Yes, proxyProtocolIP is the only thing I set.
Yes, I tested both http and https listeners with OLS v1.9.1
 
Top