[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Jander Francisco De Oliveira
Criador Jander Francisco De Oliveira 15/07/2021

Carlos,

subi um container com socket.io

 

o laravel-echo-server está escutando o eventos tudo certinho. Porém o front não conecta no socket

 

http://138.197.108.26:6001/socket.io/?EIO=3&transport=polling&t=Nghd0sS. fica dando net::ERR_CONNECTION_TIMED_OUT

Manager Carlos Ferreira 15/07/2021

Olá, Jander!
Tudo bem?

Eu tive esse mesmo problema quando fiz o deploy do projeto, e vou te ajudar resolver.

Meu primeiro problema, foi por conta do firewall, como eu habilitei o firewall ele bloqueou essa porta 6001, o que precisei fazer foi abrir essa exceção no firewall. Você configurou o firewall no painel da Digital Ocean? Se sim, pode estar aqui o problema.

Outro problema que tive foi com a Cloudflare, você está usando ela?
Se sim, desabilite a opção de proxy

Carlos Ferreira
Criador Jander Francisco De Oliveira 15/07/2021

desabilitei o firewall agora temporariamente até resolver. Não estou usando cloudfire. 

 

acredito que o erro seja no nginx que não está escutando a porta. você tem um arquivo de exemplo do nginx de conf mostrando como escutar a porta 6001 do socket.io  ?

Jander Francisco De Oliveira
Manager Carlos Ferreira 15/07/2021

Acessei o IP do seu droplet aqui, mas ele não respondeu.

Nem na porta 80, nem na 6001:
http://138.197.108.2:6001

Ainda está de pé? Eu gostaria de acessar para te ajudar a identificar onde está o problema.

Carlos Ferreira
Criador Jander Francisco De Oliveira 15/07/2021

Esse aqui é o o endereço do droplet: http://138.197.108.26

na página inicial tem só dois  componente de testes, que conectam puxa as informações do socket.io  

Jander Francisco De Oliveira
Manager Carlos Ferreira 15/07/2021

Conferi aqui amigo, está dando erro de CORS

Está rodando o laravel-echo-server como, com um container Docker?

No seu arquivo laravel-echo-server.json, precisa corrigir essas configurações de CORS (ou remover elas)

Carlos Ferreira
Criador Jander Francisco De Oliveira 15/07/2021

está rodando tudo dentro do laradock

 

segue meu laravel-echo-server.jsn

 

 

{

"authHost": "http://138.197.108.26",

"authEndpoint": "/broadcasting/auth",

"clients": [

{

"appId": "056105e7fb93aa1d",

"key": "3c418a02ff85db39de3008086ccf6d62"

}

],

"database": "redis",

"databaseConfig": {

"redis": {

"host": "redis",

"port": "6379"

},

"sqlite": {

"databasePath": "/database/laravel-echo-server.sqlite"

}

},

"devMode": true,

"host": null,

"port": "6001",

"protocol": "http",

"socketio": {},

"secureOptions": 67108864,

"sslCertPath": "",

"sslKeyPath": "",

"sslCertChainPath": "",

"sslPassphrase": "",

"subscribers": {

"http": true,

"redis": true

},

"apiOriginAllow": {

"allowCors": false,

"allowOrigin": "",

"allowMethods": "GET, POST",

"allowHeaders": "Origin, Content-Type, X-Auth-Token, X-Requested-With, Accept, Authorization, X-CSRF-TOKEN, X-Socket-Id"

}

}
Jander Francisco De Oliveira
Manager Carlos Ferreira 15/07/2021

Está usando o container laravel-echo-server?
docker-compose up -d laravel-echo-server

Se for o caso, eu já usei também (é sempre bom testar local primeiro), no arquivo laradock/laravel-echo-server/laravel-echo-server.json  altere o authHost para http://nginx

"authHost": "http://nginx",

No arquivo de hosts local (/etc/hosts) adicione essa entrada
127.0.0.1    nginx

Reincie o container e tente novamente

Carlos Ferreira
Criador Jander Francisco De Oliveira 15/07/2021

Boa tarde Carlos,

 

com essa sua última resposta eu consegui resolver o problema.

 

1º Problema  - O firewall estava bloqueando a porta.

2º Problema - eu estava rodando o laravel-echo-server dentro do container do workspace. Eu instalava o larave-echo-server via npm e iniciava ao iniciar o container. Daí eu deixei um container só para o laravel-echo-server(como você falou acim) e liberei as portas no firewall e tudo funcionou perfeitamente. 

Jander Francisco De Oliveira
Manager Carlos Ferreira 15/07/2021

Maravilha amigo, vou finalizar o ticket. TMJ!

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!