Went through the same nightmare.
When using https then reverb wants to have a certificate, without it the connection fails.
My reverb.php settings look like this:
'reverb' => [
'host' => env('REVERB_SERVER_HOST', '0.0.0.0'),
'port' => env('REVERB_SERVER_PORT', 6001),
'hostname' => env('REVERB_HOST'),
'options' => [
'tls' => [
'local_cert' => '/etc/nginx/ssl/fullchain.pem',
'local_pk' => '/etc/nginx/ssl/server.key',
'verify_peer' => false,
],
]
Reverb does not provide any information about what is going on, so this command was my biggest friend:
openssl s_client -connect hostname:6001 -showcerts
When I added just my certificate openssl replied that there is a certificate but it is not able to validate it. So I opened the site in browser, exported all three certificates from there, merged them in one file starting from my own certificate, then intermediate and then root certificate, saved it as fullchain and added that as the certificate for reverb.
Then openssl said that everything is ok with certificate.
Then I added this to nginx config in server block:
location /app/ {
try_files $uri $uri/ /index.php?$query_string;
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header Scheme $scheme;
proxy_set_header SERVER_PORT $server_port;
proxy_set_header REMOTE_ADDR $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass http:/ / 127.0.0.1:6001;
}
Also trying to make the websocket connection with Postman helped a bit.