• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

haproxy returns 200 instead of 101 for websockets - from 2.7 forward

Scheduled Pinned Locked Moved Cache/Proxy
2 Posts 1 Posters 344 Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P
    planetinse
    last edited by Feb 20, 2024, 1:00 PM

    This (seems) to introduce some interesting caching issues, where I get connected to the wrong backend (when switching urls it reuses the previous websocket)
    luckily customers are 1:1 to their fqdn, but from a testing perspective this is annoying as hell, and i really dont want to go back to older versions of pfsense/haproxy.
    I'll be happy to pay someone just to have a speaking partner on this....

    P 1 Reply Last reply Feb 20, 2024, 4:15 PM Reply Quote 0
    • P
      planetinse @planetinse
      last edited by planetinse Feb 20, 2024, 4:16 PM Feb 20, 2024, 4:15 PM

      @planetinse

      23.09.1
      I have taken away all other logic and just trying to offload TLS, (no fiddle with sni_fc_ssl or likewise) - and instead of expected 101 and Upgrade response header, I get 200, the tunnel is created and it works, but browser reuses earlier tunnel if i switch url that should use another backend. (it gets confused by the 200 response is my theory)

      2.4
      doing the same thing with the in 2.4 i get Expected 101 and Upgrade response header.

      Direct
      If i access backend directly it gives me the expected 101 and Connection upgrade.

      1 Reply Last reply Reply Quote 0
      2 out of 2
      • First post
        2/2
        Last post
      Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
        This community forum collects and processes your personal information.
        consent.not_received