How do I fix the error 'WebSocket is closed before the connection is established'?
Richard C.
—When using the Laravel WebSockets package from Beyond Code (or another framework or language), you might get this error:
WebSocket is closed before the connection is established
How do you fix this error?
The WebSockets package from Beyond Code is obsolete and no longer maintained. If possible, upgrade your project to Laravel Reverb, the official WebSockets package. Upgrading won’t fix the connection error, however.
If your WebSocket server is running correctly, then the error is probably caused by the browser port not matching the server port. First, check to see which port is in use in your websockets.php
file. For example:
<?php use BeyondCode\LaravelWebSockets\Dashboard\Http\Middleware\Authorize; return [ /* * Set a custom dashboard configuration */ 'dashboard' => [ 'port' => env('LARAVEL_WEBSOCKETS_PORT', 6001), ],
Check that the port matches the port used in your JavaScript code. You might need to look in a JSON or .env
file.
If you are using Docker, check in your docker-compose.yaml
file that the WebSocket server port is exposed to your physical machine.
For example, the following services
section of a docker-compose.yaml
file might look like this if the 7770
port is on your physical machine and the 6001
port is in the container:
services: app: container_name: lara image: docker.io/bitnami/laravel:8 ports: - '7770:6001'
Remember that the Laravel port is different from the WebSocket port. They are separate services.
Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.
SEE EPISODESConsidered “not bad” by 4 million developers and more than 100,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.
Here’s a quick look at how Sentry handles your personal information (PII).
×We collect PII about people browsing our website, users of the Sentry service, prospective customers, and people who otherwise interact with us.
What if my PII is included in data sent to Sentry by a Sentry customer (e.g., someone using Sentry to monitor their app)? In this case you have to contact the Sentry customer (e.g., the maker of the app). We do not control the data that is sent to us through the Sentry service for the purposes of application monitoring.
Am I included?We may disclose your PII to the following type of recipients:
You may have the following rights related to your PII:
If you have any questions or concerns about your privacy at Sentry, please email us at compliance@sentry.io.
If you are a California resident, see our Supplemental notice.