fix: заменить Mermaid на статический SVG в architecture.md

Firefox и Gitea ломают inline-SVG Mermaid из-за невалидного <br> в foreignObject.
This commit is contained in:
Andrey Lutsenko
2026-06-13 21:58:21 +10:00
parent 8688273971
commit a337bbdda1
2 changed files with 40 additions and 13 deletions
+37
View File
@@ -0,0 +1,37 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 500" role="img" aria-label="Поток трафика: Интернет → MikroTik → HAProxy → ACL → бэкенды">
<defs>
<marker id="arrow" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
<polygon points="0,0 10,3.5 0,7" fill="#555"/>
</marker>
</defs>
<style>
.box { fill: #f6f8fa; stroke: #24292f; stroke-width: 1.5; }
.text { fill: #24292f; font: 14px system-ui, -apple-system, sans-serif; text-anchor: middle; }
.edge { stroke: #57606a; stroke-width: 1.5; fill: none; marker-end: url(#arrow); }
.edge-label { fill: #57606a; font: 12px system-ui, -apple-system, sans-serif; text-anchor: middle; }
</style>
<rect class="box" x="95" y="10" width="110" height="40" rx="6"/>
<text class="text" x="150" y="35">Интернет</text>
<line class="edge" x1="150" y1="50" x2="150" y2="78"/>
<rect class="box" x="45" y="78" width="210" height="40" rx="6"/>
<text class="text" x="150" y="103">MikroTik / периметр</text>
<line class="edge" x1="150" y1="118" x2="150" y2="146"/>
<text class="edge-label" x="150" y="136">DNAT публичный IP</text>
<rect class="box" x="20" y="146" width="260" height="40" rx="6"/>
<text class="text" x="150" y="171">HAProxy 192.168.160.117 (25 80 443)</text>
<line class="edge" x1="150" y1="186" x2="150" y2="214"/>
<rect class="box" x="35" y="214" width="230" height="40" rx="6"/>
<text class="text" x="150" y="239">HAProxy ACL: SNI / Host allowlist</text>
<line class="edge" x1="150" y1="254" x2="150" y2="282"/>
<rect class="box" x="15" y="282" width="270" height="40" rx="6"/>
<text class="text" x="150" y="307">Бэкенды 192.168.160.0/24</text>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

+3 -13
View File
@@ -2,21 +2,11 @@
## Поток трафика ## Поток трафика
```mermaid ![Поток трафика](architecture-flow.svg)
flowchart TB
internet["Интернет"]
mt["MikroTik / периметр"]
hap["HAProxy 192.168.160.117 (25 80 443)"]
acl["HAProxy ACL: SNI / Host allowlist"]
backends["Бэкенды 192.168.160.0/24"]
internet --> mt Схема в SVG — без Mermaid, чтобы Gitea/Firefox не ломали рендер из‑за `<br>` в XML.
mt -->|DNAT публичный IP| hap
hap --> acl
acl --> backends
```
Если блок выше не рисуется (старый кеш браузера / Gitea), та же схема текстом: Та же схема текстом:
```text ```text
Интернет → MikroTik (DNAT) → HAProxy .117 (25/80/443) → ACL (SNI/Host) → бэкенды .160.0/24 Интернет → MikroTik (DNAT) → HAProxy .117 (25/80/443) → ACL (SNI/Host) → бэкенды .160.0/24