README: SVG architecture diagram replaces mermaid; embed + text fallback; assets/readme added

This commit is contained in:
infra-bot
2026-08-27 16:30:01 +03:00
parent e41d31af24
commit edc1c68aba
4 changed files with 170 additions and 19 deletions
+12 -19
View File
@@ -25,28 +25,21 @@ MySQL слушает TCP и ловит сканеры портянкой aborted
## Архитектура
```mermaid
flowchart TB
U["Браузер"] -->|"HTTPS :443"| NG
<p align="center">
<img src="./assets/readme/architecture.svg" width="100%" alt="Схема: браузер по HTTPS заходит на nginx; nginx через unix-сокет передаёт php-fpm; php-fpm работает с Percona MySQL только локально и с двумя memcached; cron выполняет агентов и бэкапы; CrowdSec и fail2ban читают журналы и блокируют атакующих; TCP у MySQL закрыт">
</p>
subgraph VPS["Ubuntu 24.04, без Docker"]
NG["nginx<br/>TLS · статика · urlrewrite<br/>limit_req zones"]
<details>
<summary>Текстовая версия схемы</summary>
NG -->|"fastcgi, unix-сокет<br/>/run/php/bitrix-fpm.sock"| PHP["php-fpm pool 'bitrix'<br/>dynamic, max 30, max_requests 500"]
PHP -->|"localhost = сокет"| DB[("Percona MySQL 8.0<br/>bind 127.0.0.1 only")]
PHP --> MC1[("memcached cache<br/>127.0.0.1:11211")]
PHP --> MC2[("memcached sessions<br/>127.0.0.1:11212")]
- Браузер → HTTPS :443 → nginx (TLS, статика, urlrewrite, limit_req)
- nginx → fastcgi unix-сокет → php-fpm pool «bitrix» (dynamic, max 30)
- php-fpm → `localhost` = сокет → Percona MySQL 8.0; TCP :3306/:33060 закрыты
- php-fpm → memcached :11211 (кэш) и :11212 (сессии)
- cron CLI php → агенты каждую минуту, обмен 1С каждые 5 минут, бэкапы в `/var/backups/bitrix`
- nginx access.log → CrowdSec + firewall-bouncer; sshd → fail2ban; оба банят источники атак
CRON["cron (CLI php)<br/>agents · exchange · backup"]
CRON --> PHP
CRON --> DB
end
LOGS["nginx access.log (combined)"] -.->|parse| CS["CrowdSec + firewall-bouncer"]
SSHD["sshd journal"] -.-> F2B["fail2ban"]
CRON --> BAK["backups:<br/>mysqldump + code tarball<br/>retention 14 дней"]
CS -.->|"блокирует"| U
```
</details>
Ключевые отличия от «Bitrix VM по умолчанию»: