저는 Laravel Echo Server, Socket IO, Redis를 사용하여 웹사이트를 구축하고 있습니다. 내가 직면한 문제는 모든 것이 로컬에서 작동하지만 VPS 서버에서는 작동하지 않는다는 것입니다.
사용자가 소켓 IO가 필요한 뷰에 들어가면 404 루프가 나타납니다. https://example.com:6001/socket.io/?EIO=4&transport=polling&t=O0DofMO net::ERR_CONNECTION_CLOSED
FireFox에서 이 오류를 볼 수 있습니다. 자세히 설명되어 있습니다
무엇을 해야 할지 모르겠지만 Socket IO가 영원히 연결을 시도하지만 성공하지 못하는 것 같습니다.
Apache에서 Laravel 6을 사용합니다. 내 구성은 다음과 같습니다.
apache.conf:
으아악laravel-echo-server.json:
으아악이 Laravel 에코 서버는 감독자를 통해 실행됩니다.
으아악먼저 포트 6001이 수신되고 있는지 확인하려고 시도한 결과는 다음과 같습니다.
으아악내 app.js:
으아악소켓 IO 클라이언트가 있는 보기:
으아악Laravel Echo 서버는 tail -f echoserver.log를 통해 이벤트가 전달되는 것을 볼 수 있으므로 작업을 제출할 때 이벤트를 올바르게 브로드캐스트합니다.
하지만 사용자가 연결하는 것을 본 적이 없으므로 누구도 프런트엔드 측에서 데이터를 받을 수 없습니다.
내 VPS는 DNS 리디렉션이 있는 도메인을 통해 액세스할 수 있지만 이것이 문제가 될지는 확실하지 않습니다.
실마리가 있는 사람이 있다면 무슨 일이 일어나고 있는지 기꺼이 알아낼 것입니다...
P粉2695300532024-03-27 12:36:38
지금 일하는 것 같습니다.
저는 HTTPS를 통해 작동하도록 laravel-echo-server.json을 구성했습니다.
이렇게 하면 이벤트 방송이 다시 작동하지만 채널 인증이 작동하지 않습니다.
그래서 Socket.IO를 가져오는 방식을 변경했습니다.
으아아아to
으아아아이러한 변경 사항은 효과가 있었습니다.
채널 기본 접두사를 제거하면 많은 도움이 됩니다.