Sentry Answers>Laravel>

How do I fix the error 'WebSocket is closed before the connection is established'?

How do I fix the error 'WebSocket is closed before the connection is established'?

Richard C.

The Problem

When using the Laravel WebSockets package from Beyond Code (or another framework or language), you might get this error:

Click to Copy
WebSocket is closed before the connection is established

How do you fix this error?

The Solution

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:

Click to Copy
<?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:

Click to Copy
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.

  • SentryHow Sentry Can Improve Your Laravel Application
  • Syntax.fmListen to the Syntax Podcast
  • SentryLaravel Error and Performance Monitoring
  • Syntax.fm logo
    Listen to the Syntax Podcast

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “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.

© 2024 • Sentry is a registered Trademark of Functional Software, Inc.