Weekly Programming Nugget
Recently, I ran into issues related to setting up a full Laravel Websockets connection using Laravel Forge.
I watched a few of the videos from around the web, yet I wasn't able to configure it myself. My biggest challenge was to set up Laravel Websockets in a way to configure a proxy server in the background, so I don't have to deal with the overhead cost of load balancing. In my situation, it was the easier and more affordable solution. So let's take a quick look at my solution, and compare some of the videos I've seen on the web.
I followed the following video example from Alex @codecourse.
To solve the SSL-related errors for Websockets here is my SSL configuration. Notice LARAVEL_WEBSOCKETS_SSL_LOCAL_CERT & LARAVEL_WEBSOCKETS_SSL_LOCAL_PK environment variables. Here you will add your
socket server SSL certs, not your domain certs.
/* * Define the optional SSL context for your WebSocket connections. * You can see all available options at: http://php.net/manual/en/context.ssl.php */ 'ssl' => [ /* * Path to local certificate file on filesystem. It must be a PEM encoded file which * contains your certificate and private key. It can optionally contain the * certificate chain of issuers. The private key also may be contained * in a separate file specified by local_pk. */ 'local_cert' => env('LARAVEL_WEBSOCKETS_SSL_LOCAL_CERT', null), /* * Path to local private key file on filesystem in case of separate files for * certificate (local_cert) and private key. */ 'local_pk' => env('LARAVEL_WEBSOCKETS_SSL_LOCAL_PK', null), /* * Passphrase for your local_cert file. */ 'passphrase' => env('LARAVEL_WEBSOCKETS_SSL_PASSPHRASE', null), 'verify_peer' => false ],