Info
Content

Getting Started

Взять можно тут https://github.com/centrifugal/centrifugo/releases

Я взял deb пакет и установил через dpkg -i
Он предоставляет и systemd-unit, поэтому вдвойне удобно

Далее нужно сгенерить конфиг:

root@centrifugo:~# centrifugo genconfig -c /etc/centrifugo/config.json
root@centrifugo:~# cat /etc/centrifugo/config.json
{
  "token_hmac_secret_key": "b06abc67-5044-415e-afff-843be892519c",
  "admin_password": "9a722c80-6f7a-4f8f-b5a5-a343e6e4c235",
  "admin_secret": "e01a905e-220d-4d6f-84a4-d6d33ada1105",
  "api_key": "f71f267a-423b-4d10-a080-8f00bf9bc811",
  "allowed_origins": []
}

Если не указывать путь куда генерить то сгенерить туда где ты находишься

Добавляем в конфиг "admin": true и рестартим (после просто релоада админка не заработает, надо рестартить)
Становится доступна админка:
Screenshot_2021_02_02-12_49_03-2022-05-26-at-1centrifugo-admin-web.png

Вводим admin_password из конфига и можно тыкать кнопки


Для того чтобы клиент мог подключиться, нужно сгенерировать ему токен:

centrifugo gentoken -u 123722 # число это айдишник юзера (тут случайный)

А так же нужно прописать в конфиге в allowed_origins разрешенные сайты
(Когда клиент запрашивает апгрейд протокола на websocket, то передает http-заголовок Origin, этот ориджин и должен быть в конфиге)
Screenshot_2021_02_02-12_49_03-2022-05-26-at-17websocketupgrade.png

vandud@centrifugo:~$ cat /etc/centrifugo/config.json
{
  "token_hmac_secret_key": "b06abc67-5044-415e-afff-843be892519c",
  "admin_password": "9a722c80-6f7a-4f8f-b5a5-a343e6e4c235",
  "admin_secret": "e01a905e-220d-4d6f-84a4-d6d33ada1105",
  "api_key": "f71f267a-423b-4d10-a080-8f00bf9bc811",
  "allowed_origins": [
    "http://51.250.23.143"
  ],
  "admin": true
}

diagram_unidirectional_publish-791f0862f2aa9632dec9c3515bcdc6ea.png

diagram_publish_proxy-66ccb1e8b37ed8912d218b4529597bd9.png

No Comments
Back to top