Socket-io

[Finalizado Pelo Aluno]

Gerson Hugo Samuel Chiule Criador 07/01/2021
Gerson Hugo Samuel Chiule

Olá Carlos!

Estou tendo este erro no broswer quando crio o post:

Access to XMLHttpRequest at 'http://curso-laravel-real-time-with-socket-io.test:6001/socket.io/?EIO=3&transport=polling&t=NRSbM-S' from origin 'http://curso-laravel-real-time-with-socket-io.test' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

NB: Dá successo ao criar o post, a fila é processada com successo. Mas o laravel-echo-server não consegue escutar o channel (simplesmente mantém com a mensagem "Server ready!")

 

Manager Carlos Ferreira 07/01/2021
Carlos Ferreira

Olá, Gerson!
Tudo bem?

Está dando erro de CORS.

Está usando qual versão do Laravel?
Porque nas versões mais atuais já vem com o package instalado e esse problema solucionado.

Na versão 7.x ou 8.x as configurações de CORS ficam no arquivo config/cors.php

Já em versões anteriores precisa instalar um package, me diga se for esse o seu caso que te direciono no melhor caminho.

No aguardo amigo.

Criador Gerson Hugo Samuel Chiule 07/01/2021
Gerson Hugo Samuel Chiule

Estou utilizando Laravel 8.

Criador Gerson Hugo Samuel Chiule 07/01/2021
Gerson Hugo Samuel Chiule

Este é o meu ficheiro do Cors.php

Dá o erro na mesma..!

 

<?php

 

return [

 

    /*

    |--------------------------------------------------------------------------

    | Cross-Origin Resource Sharing (CORS) Configuration

    |--------------------------------------------------------------------------

    |

    | Here you may configure your settings for cross-origin resource sharing

    | or "CORS". This determines what cross-origin operations may execute

    | in web browsers. You are free to adjust these settings as needed.

    |

    | To learn more: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

    |

    */

 

    'paths' => ['api/*', 'sanctum/csrf-cookie'],

 

    'allowed_methods' => ['*'],

 

    'allowed_origins' => ['*'],

 

    'allowed_origins_patterns' => [],

 

    'allowed_headers' => ['*'],

 

    'exposed_headers' => [],

 

    'max_age' => 0,

 

    'supports_credentials' => false,

 

];

Manager Carlos Ferreira 07/01/2021
Carlos Ferreira

Em path deixe assim:
'paths' => ['*'],

E atualize as configurações:
php artisan config:clear

Criador Gerson Hugo Samuel Chiule 07/01/2021
Gerson Hugo Samuel Chiule

É estranho, mesmo assim:

Em path deixe assim:
'paths' => ['*'],

E atualize as configurações:
php artisan config:clear

 

=> Continua o ERRO do cors!

 

NB (Dá successo ao criar o post)

1 - QUANDO USO LARADOCK =>  A fila é processada com successo. Mas o laravel-echo-server não consegue escutar o channel

(simplesmente mantém com a mensagem "Server ready!")

 

2 - QUANDO USO PHP ARTISAN SERVE (LOCALHOST:8000)  =>  A fila é processada com successo e o laravel-echo-server

consegue disparar o channel. Mas o Echo.js não consegue escutar o channel disparado pelo laravel-echo-server.

 

 

Manager Carlos Ferreira 08/01/2021
Carlos Ferreira

Tem o projeto no GitHub amigo?

Está usando o Docker como ambiente?

Já começou esse projeto com a versão 8.x?

Criador Gerson Hugo Samuel Chiule 08/01/2021
Gerson Hugo Samuel Chiule

Tem o projeto no GitHub amigo?

Não.

 

Está usando o Docker como ambiente?

Sim.

 

Já começou esse projeto com a versão 8.x?

Sim.

 "require": {
        "php""^7.3|^8.0",
        "fideloper/proxy""^4.4",
        "fruitcake/laravel-cors""^2.0",
        "guzzlehttp/guzzle""^7.0.1",
        "laravel/framework""^8.12",
        "laravel/tinker""^2.5"
    },
Criador Gerson Hugo Samuel Chiule 09/01/2021
Gerson Hugo Samuel Chiule

https://github.com/gchiule/curso-laravel-real-time-socket-io.git

Manager Carlos Ferreira 09/01/2021
Carlos Ferreira

No seu projeto no GitHub, (config/cors.php) path ainda está como default.

Deixa assim:
'paths' => ['*'],

E limpa as configurações de cache:
php artisan config:clear

IMPORTANTE: Não esqueça, após fazer isso reinicie o servidor do laravel-echo-server e as filas também;

Criador Gerson Hugo Samuel Chiule 10/01/2021
Gerson Hugo Samuel Chiule

Deixa assim:
'paths' => ['*'],

E limpa as configurações de cache:
php artisan config:clear

IMPORTANTE: Não esqueça, após fazer isso reinicie o servidor do laravel-echo-server e as filas também;

 

Já tinha feito isso localmente na 5 feira, só não tinha atualizado no github. Não deu certo, continuava com o erro...

Criador Gerson Hugo Samuel Chiule 10/01/2021
Gerson Hugo Samuel Chiule

A proposito Carlos, agora estou enfrentando um problema com todos meus navegadores (Chrome, Firefox e Opera). Todos eles redirecionam links Http para Https, logo, os links dos projetos do laradock não abrem. Ex: curso-laravel-8.test

 

Já pesquisei na net e não acho solução. Alguma dica desse lado?

Criador Gerson Hugo Samuel Chiule 10/01/2021
Gerson Hugo Samuel Chiule

Erro:

 

Unable to connect

Firefox can’t establish a connection to the server at curso-laravel-8.test.

    The site could be temporarily unavailable or too busy. Try again in a few moments.
    If you are unable to load any pages, check your computer’s network connection.
    If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the Web.

Manager Carlos Ferreira 11/01/2021
Carlos Ferreira

Olá, Gerson!

Envia um e-mail para mim que vamos agendar um dia e horário eu vou rodar o seu projeto para te ajudar a identificar onde está o problema.

------


Sobre o seu novo problema de vhosts, abre uma nova thread (ticket) para discutirmos sobre ela. (envie prints e etc: https://imgur.com/upload)

Manager Carlos Ferreira 13/01/2021
Carlos Ferreira

Acabei de testar o seu projeto, e não mudei uma vírgula no código, apenas alterei no laravel-echo-server.json a URL do projeto, e funcionou perfeitamente, sem problemas algum.

Veja: http://prntscr.com/wmzcge

Pode ser o nome do vhost que usou que está errado, remove as configurações de apiOriginAllow

Criador Gerson Hugo Samuel Chiule 14/01/2021
Gerson Hugo Samuel Chiule

Finalmente funcionou!

Para além disso, tive que fazer reset do meu laptop.

https://imgur.com/gallery/5nryXhf

 

Obrigado!

Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!