422 Over Nginx and WebSocket subscriptions transport
- Linguagem predominante
- Go
- Estrelas
- 10.8k
- Forks
- 1.3k
- Merge médio
- 2d 36min
- PRs com merge (30d)
- 26
Descrição
**go 1.22**
Packages:
```
github.com/99designs/gqlgen v0.17.46
github.com/gorilla/websocket v1.5.3
github.com/vektah/gqlparser v1.3.1
github.com/vektah/gqlparser/v2 v2.5.23
```
Client lib - `apollo` + `subscriptions-transport-ws`
Without Nginx it worked fine, but in production environment I receive such logs:
```
[6957]: time="2025-03-04T11:58:23+03:00" level=warning msg="GQL ERR no operation provided"
[6957]: time="2025-03-04T11:58:23+03:00" level=warning msg="Response Status: 422"
[6957]: time="2025-03-04T11:58:23+03:00" level=warning msg="Response Body: {\"errors\":[{\"message\":\"no operation provided\",\"extensions\":{\"code\":\"GRAPHQL_VALIDATION_FAILED\"}}],\"data\":null}"
```
Even with `wscat` tool I can establish connections without a problem but only directly to golang server.
Guia de contribuição
Direção de pesquisa
A issue envolve WebSocket subscriptions com gqlgen e Nginx. Comece examinando a gqlgen WebSocket transport configuration e as Nginx proxy settings para WebSocket support. Verifique os server logs para o erro 'no operation provided'. Teste WebSocket connections diretamente para o Go server e através do Nginx para reproduzir a 422 response.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- go, graphql, nginx
- Domínio
- api, backend, devops
- Tipo de issue
- Bug
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 30/100