HTTPS для клубу: тунель за 10 хвилин
Кабінет гравця перестає ходити відкритим текстом у клубній Wi-Fi, власник бачить зал із дому, а сповіщення нарешті працюють.
Навіщо це насправді
Поки клубний сервер працює лише в локальній мережі, кабінет гравця відкривається по
http://192.168.x.x:5000/my/. Це означає три речі:
- Пароль гравця й cookie йдуть відкритим текстом по клубній Wi-Fi. Будь-хто в тій самій мережі з ноутбуком і безкоштовною програмою бачить їх. Це не теорія — це найдешевша атака, яка існує.
- Сповіщення на телефон не працюють узагалі. Браузери дозволяють їх лише на захищеному зʼєднанні.
- Власник не бачить зал із дому — тільки з клубу.
Тунель закриває всі три пункти за один вечір.
Чому тунель, а не «прокинути порт на роутері»
- Жодного відкритого порту.
cloudflaredсам виходить назовні; зовні до вашого роутера ніхто не стукає. - Не треба білої IP-адреси й не страшно, коли провайдер її змінить.
- Сертифікат випускає і продовжує Cloudflare. У клубі нікому стежити за строком дії сертифіката — а прострочений сертифікат ламає все одразу.
Як зробити
- У Cloudflare Zero Trust → Networks → Tunnels → Create tunnel, скопіюйте токен.
- На клубному сервері:
powershell -ExecutionPolicy Bypass -File setup-tunnel.ps1 `
-Hostname klub.ваш-домен.com -Token eyJ...
- Там же в Cloudflare додайте Public hostname:
klub.ваш-домен.com→http://localhost:5000. - У
appsettings.jsonсервера:
"BehindProxy": true,
"PublicUrl": "https://klub.ваш-домен.com"
BehindProxy вмикається лише разом із тунелем: він каже серверу довіряти заголовкам
проксі, і саме завдяки цьому cookie входу отримує позначку Secure. У звичайній локальній
мережі його вмикати не можна — там ці заголовки може підробити будь-хто.
PublicUrl потрапляє в QR-код на замку: гравець сканує його телефоном і відкриває вже
захищену адресу.
Що зробити одразу після
Дашборд тепер доступний з інтернету — отже:
- змініть пароль власника на довгий і не той, що був «поки для себе»;
- перевірте коди реєстрації пристроїв: вони мають бути з обмеженим строком, а не вічні;
- лишіть агентам локальну адресу сервера (
ws://192.168.x.x:5000/agent). Гнати трафік машин через інтернет не потрібно й шкідливо: клуб мусить працювати, коли інтернет ліг.
Останнє — найважливіше правило всієї системи: тунель додає можливості, але нічого не забирає. Зникне інтернет — зал, каса й сесії працюють далі, бо сервер стоїть у вас.
Що після цього зʼявиться в гравця
У кабінеті — блок «Сповіщення». Приходить лише важливе:
- час закінчується (за 10 хвилин, один раз);
- скоро ваша бронь (за 30 хвилин);
- баланс поповнено.
Новин і реклами там немає свідомо: сповіщення, які приходять часто, вимикають — і тоді не спрацює те єдине, заради якого їх умикали.