> For the complete documentation index, see [llms.txt](https://docs.iexexchanger.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.iexexchanger.com/knowledge-base/servery-i-domeny/overview/process-map/reverb.md).

# Laravel Reverb и WebSocket

Назначение Reverb, WebSocket-маршрут, системная служба и проверка чата

Laravel Reverb доставляет события между серверной частью, панелью и клиентским сайтом без перезагрузки. В iEXExchanger он используется для чата и других обновлений в реальном времени; сами сообщения сохраняются в системе.

## Где работает менеджер

Для повседневной работы с сообщениями откройте **«Заявки» — «Список заявок»**, затем нужную заявку и вкладку «Чат с клиентом». Альтернативный вход — значок сообщений в верхней панели и «Центр чатов».

Нужны права:

* **«Разрешить управление заявками в админпанели» из блока «Админпанель»**;
* **«Разрешить управление онлайн чатом для заявок в админпанели» из блока «Заявки»**.

Права выдаются по пути **«Пользователи» — «Список групп пользователей»**.

Состояние процесса Reverb смотрите отдельно по пути **«Утилиты» — «Службы»**. Для просмотра требуется **«Просмотр служб обменника»**, а для действий «Запустить», «Остановить» и «Перезапустить» — **«Управление службами обменника» из блока «Админпанель»**. Эти права не дают доступ к содержимому чатов.

## Как устроено соединение

Браузер подключается по защищённому `wss://` к публичному домену. Nginx принимает соединение и передаёт его на внутренний Reverb. Внутренний порт не открывается всему интернету. Разрешены только точные домены клиентского сайта и панели; рабочий allowlist не должен содержать `*`.

## Проверка службы

```bash
systemctl --no-pager --full status iex-reverb.service
journalctl -u iex-reverb.service --since '-1 hour' --no-pager
```

После этого проверьте конечный сценарий:

1. Откройте одну тестовую заявку в панели и клиентской сессии.
2. Отправьте сообщение в обе стороны.
3. Убедитесь, что оно появляется без обновления страницы.
4. Обновите обе страницы и убедитесь, что сообщения сохранились.

Обычный ответ сайта со статусом 200 не проверяет WebSocket Upgrade.

## Nginx, HTTPS и Cloudflare

Nginx должен передавать заголовки Upgrade на внутренний адрес Reverb. Сертификат покрывает используемый домен, а страница HTTPS подключается только через WSS. В Cloudflare WebSockets должны быть разрешены, а правила WAF не должны блокировать корректное начальное соединение.

Рабочая конфигурация создаётся установщиком. Перед ручным изменением сохраните текущую версию и выполните `nginx -t`; не открывайте внутренний порт Reverb как способ исправления.

## После обновления

Экран **«Обновления»** сам перезапускает Reverb в согласованном порядке. После завершения повторите двустороннюю проверку чата. Если сообщения появляются только после обновления страницы, проверяйте службу, Nginx, сертификат, разрешённые домены, Cloudflare и очередь публикации.

Описание протокола и настроек приведено в [официальной документации Laravel Reverb](https://laravel.com/docs/reverb).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.iexexchanger.com/knowledge-base/servery-i-domeny/overview/process-map/reverb.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
