Эхо Laravel с суб-доменом - PullRequest
0 голосов
/ 07 ноября 2019

Когда я получаю доступ со стороннего сайта, я теперь сталкиваюсь с ошибкой 419 «Ошибка токена». Если я полностью отключу «VerifyCsrfToken» в Kernel.php, то все будет работать, но это не вариант. Я пытался добавить ссылки в освобожденный массив. Но тогда я встречаю ошибку 403 с пустым сообщением. Не первый день, когда я боролся с этим, помогите мне решить.

Клиентское соединение

 this.Echo = new Echo({
        broadcaster: 'socket.io',
        host: process.env.VUE_APP_SOCKET_HOST, // https://ws.site.com
        reconnectionAttempts: 60,
        encrypted: true,
        auth: {
            headers: {
                'V-Auth': true,
                'Access-Token': accessToken,
                'Virtual-Id': virtualId,
                'Chat-Id': chatId
            }
        }
    });

BroadcastServiceProvider.php

public function boot()
{
    if (request()->hasHeader('V-Auth')) { /* Virtual client. */
        Broadcast::routes(['middleware' => 'client_chat.broadcast.auth']);
    } else {
        Broadcast::routes();
    }

    require base_path('routes/channels.php');
}

nginx conf

server {
server_name ws.site.com;

location / {
    proxy_pass             https://127.0.0.1:6001;
    proxy_set_header Host  $host;
    proxy_read_timeout     60;
    proxy_connect_timeout  60;
    proxy_redirect         off;

    # Allow the use of websockets
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;

   add_header Sec-Fetch-Site same-site;
   add_header Sec-Fetch-Mode cors;
}

listen 443 ssl; # managed by Certbot
ssl_certificate...

}

...