Bug: Public WebSocket RPC endpoints returning 405 / 403 after April 21 maintenance
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Área
- documentation, networking
Línea de trabajo
Comienza en /base-chain/api-reference/rpc-overview e inspecciona los ejemplos de WebSocket; después, reproduce el comportamiento reportado con wscat o con la solicitud completa de actualización de curl contra los cuatro endpoints. Compara las respuestas 405/403 observadas con el handshake HTTP 101 esperado y determina si la corrección necesaria corresponde a la documentación o al comportamiento del endpoint público.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Path: /base-chain/api-reference/rpc-overview
Summary
All four public Base WebSocket endpoints are rejecting connections since the April 21 RPC migration (incident kd90bdz37xw5). WebSocket handshakes never reach the backend — they are being blocked at the Cloudflare layer.
Affected endpoints
- wss://mainnet.base.org
- wss://mainnet-preconf.base.org
- wss://sepolia.base.org
- wss://sepolia-preconf.base.org
Reproduction
Reproduced independently using wscat from a MacBook on a residential/client IP:
$ wscat -c wss://mainnet.base.org
error: Unexpected server response: 405
Also confirmed via curl with a full RFC 6455-compliant WebSocket upgrade request (GET + Upgrade: websocket + Sec-WebSocket-Key headers) — all four endpoints return 405.
Additional testing from a server/datacenter IP returns:
HTTP/2 403
x-deny-reason: host_not_allowed
Root cause hypothesis
Per RFC 6455 §4.1, the WebSocket opening handshake must be an HTTP GET request. The 405 response is being returned before the JSON-RPC layer is reached and before a WebSocket connection is established. The x-deny-reason: host_not_allowed header on the 403 variant points to a Cloudflare proxy misconfiguration — WebSocket upgrade passthrough appears to have been dropped during the April 21 node migration.
HTTP RPC (POST) requests to https://mainnet.base.org are unaffected.
Impact
- eth_subscribe is completely unavailable on all public endpoints
- The WebSocket code examples in the official docs (e.g. newFlashblocks) are non-functional
- Users are being silently broken with no changelog or deprecation notice
Expected behavior
WebSocket connections should complete the upgrade handshake and return HTTP 101 Switching Protocols.
Request
Please either restore WebSocket support on the public endpoints or update the docs to reflect that these endpoints are HTTP-only, so users can plan accordingly.
- Lenguaje dominante
- JavaScript
- Estrellas
- 337
- Forks
- 798
- Merge medio
- 13 h 7 min
- PR fusionados (30 d)
- 57
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de base/docs
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
mksglu/context-mode#1200 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
neondatabase/website#5944 ·
-
module: core
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
bigbluebutton/bigbluebutton#25849 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
jaegertracing/jaeger-ui#4506 ·