Certainly! Here’s a checklist and some troubleshooting steps for your Laravel Reverb setup on Forge, based on your description:
1. Check Reverb Server is Running
Log into your Forge server and ensure the Reverb server process is running. If you’re using Supervisor, check its status:
sudo supervisorctl status
If it’s not running, start or restart it:
sudo supervisorctl restart all
Or, if you’re using php artisan reverb:start, make sure it’s running in the background (use screen or tmux).
2. Check Reverb Configuration
Double-check your .env and config/broadcasting.php settings. For SSL, your .env should have:
BROADCAST_DRIVER=reverb
REVERB_HOST=ws.staging.echolive.io
REVERB_PORT=443
REVERB_SCHEME=https
And in config/reverb.php:
'host' => env('REVERB_HOST', '127.0.0.1'),
'port' => env('REVERB_PORT', 443),
'scheme' => env('REVERB_SCHEME', 'https'),
3. Check WebSocket Proxy (Nginx/Apache)
If you’re using a custom domain (ws.staging.echolive.io), make sure your Nginx config is proxying WebSocket traffic correctly. Example Nginx block:
location / {
proxy_pass http://127.0.0.1:8080; # or your Reverb port
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_read_timeout 60;
}
4. Check SSL Certificates
Since you’re using SSL, ensure your certificates on ws.staging.echolive.io are valid and not expired. You can check with:
sudo certbot certificates
Or use an online SSL checker.
5. Check Firewall/Security Groups
Ensure the port (443 or your custom port) is open in your server’s firewall and any cloud provider security groups.
6. Browser Console & Network Tab
Open your browser’s dev tools, check the console and network tab for errors. Look for:
- CORS errors
- Mixed content errors (HTTP/HTTPS mismatch)
- Authentication errors
7. Check Laravel Logs
Check storage/logs/laravel.log for any broadcasting or Reverb-related errors.
8. Clear Cache
Sometimes config or route cache can cause issues after changes:
php artisan config:clear
php artisan cache:clear
php artisan route:clear
9. Client-Side Configuration
Make sure your JS client is connecting to the correct host/port/scheme:
import { Reverb } from 'laravel-reverb';
window.Echo = new Echo({
broadcaster: 'reverb',
key: null,
wsHost: 'ws.staging.echolive.io',
wsPort: 443,
wssPort: 443,
forceTLS: true,
enabledTransports: ['ws', 'wss'],
});
10. Check for Updates
If you recently updated Laravel or Reverb, check for breaking changes in the docs or GitHub issues.
Summary:
- Double-check server process, config, SSL, and proxy settings.
- Check browser/network errors and Laravel logs.
- Ensure client-side config matches your server.
If you provide any error messages from the browser console or Laravel logs, I can help you debug further!