Основа за on-premise Bitrix24: логове, известия, клиент за 1С и одит на сигурността
Кастомният слой на портала растеше с години: около 20 собствени логера в 8 различни директории, нито едно известие, около 50 „сурови“ curl извиквания към 1С (основното — без таймаут), 21 хардкоднати токена и 7 несъгласувани нормализатора на телефони. За сривовете се научаваше от мениджърите.
Порталът работи за продажбите всеки ден — промени са възможни само точково, с бекъп на всеки файл; продукцията се разминава с git, затова файловете не могат да се качват изцяло.
- Анализ на 454 PHP файла: общите обвивки са избрани по реалния брой извиквания, а не по вкус
- Единен JSONL логер с request id по цялата верига и маскиране на лични данни; critical грешка веднага отива като известие в Telegram и в чата на портала, с дедупликация
- Стандартен клиент за 1С: таймаути и повторни опити само за идемпотентни заявки — повторен POST би създал втори документ в 1С
- Преглед на логовете с търсене по цялата верига, health endpoint за мониторинг и ротация: първият прогон сви 1087 МБ до 30 МБ
- Одит на сигурността: затворен е анонимният достъп до действията по сделка, приемането от 1С е ограничено до нейните адреси, файловете с токени и лични данни са премахнати от публичен достъп
- Над 15 cron задачи и помощни скрипта са превключени само към CLI, уебхукът е ротиран, в CSV експортите е затворена formula injection
Сривовете станаха видими в момента на възникване, а не след оплакване: critical грешка пристига като известие, всяка заявка се проследява по request id. Всичко, открито при одита, е затворено с точкови внедрявания с бекъп — след тях 0 отговора 5xx.
Свързани услуги и решения
Bitrix24 D7: кутийна разработка и стабилизация
Работя не само с настройките в интерфейса, но и на ниво кутия, код и вътрешни API.
Автоматизация на бизнес процеси
Когато служителите прехвърлят данни ръчно, сверяват таблици, губят заявки или повтарят еднотипни действия — превръщам рутината в код.