set_alpn_protocols(["browser-cli"]) caused TLS handshake failure (no_application_protocol alert) when connecting through a reverse proxy (e.g. Traefik) that terminates TLS but doesn't know the custom ALPN. Plain TLS without ALPN negotiation works correctly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -287,7 +287,6 @@ def _send_remote(endpoint: str, msg: dict, private_key=None) -> bytes | None:
|
|||||||
if port == 443:
|
if port == 443:
|
||||||
import ssl
|
import ssl
|
||||||
ctx = ssl.create_default_context()
|
ctx = ssl.create_default_context()
|
||||||
ctx.set_alpn_protocols(["browser-cli"]) # prevent h2/http1.1 ALPN confusion
|
|
||||||
sock = ctx.wrap_socket(raw_sock, server_hostname=host)
|
sock = ctx.wrap_socket(raw_sock, server_hostname=host)
|
||||||
else:
|
else:
|
||||||
sock = raw_sock
|
sock = raw_sock
|
||||||
|
|||||||
Reference in New Issue
Block a user