Files
106_105_181_40/SUMMARY.md

125 lines
4.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 伺服器架構摘要
本文件彙整 `106.105.181.40` 的整體運維圖像。逐項細節請點入對應的主題文件。
## 1. 主機
| 項目 | 值 |
|------|-----|
| IP | `106.105.181.40` |
| SSH 別名 | `hospital_media` |
| 主要使用者 | `tpech_1duan``sftpuser``root` |
→ 詳見 [docs/host.md](docs/host.md)
## 2. 容器總覽
| 容器 | Image | 網路 | 用途 |
|------|-------|------|------|
| `caddy` | `caddy` | host | 反向代理、SSL 終端、靜態檔 |
| `antmedia` | `antmediaserver:2.13.2` | host、privileged | 直播串流 |
| `php` | `timmy/php_base:v1.0` | `8888→80` | 正式 PHP |
| `php-staging` | `timmy/php_base:v1.0` | `6666→80` | 測試 PHP |
| `coturn` | `coturn` | `3478` | TURN/STUN |
| `phpmyadmin` | `phpmyadmin` | `1888→80` | DB 管理介面 |
| `mysql-container` | `mysql:latest` | `3306` | MySQL |
> 全部容器 `restart: always`。
## 3. Caddy 路由
| 入口 | 後端 | 說明 |
|------|------|------|
| `tel.tpech.gov.tw:443` | `127.0.0.1:8888`php | 正式HTTPS |
| `tel.tpech.gov.tw:443/phpmyadmin/*` | `10.200.251.40:1888` | phpMyAdmin |
| `tel.tpech.gov.tw:80` | `127.0.0.1:8888` | 正式HTTP |
| `:1443` | `127.0.0.1:6666`php-staging | 測試 |
| `tel-server.tpech.gov.tw:80/443` | `/srv/tel-server` | PKI `.well-known` 靜態檔 |
| `:443` / `:80` | `127.0.0.1:8888` | 其他網域 fallback |
| `:8081` | — | 健康檢查 |
- `auto_https off`:手動管理憑證
- 部署於 `/opt/caddy`,以 `docker-compose.yaml` 管理
→ 詳見 [docs/caddy.md](docs/caddy.md)
## 4. Ant Media Server
| 項目 | 值 |
|------|-----|
| 部署路徑 | `/opt/antmediaserver` |
| Image | `antmediaserver:2.13.2`(基底 `ubuntu:22.04` |
| 網路 | `--network host` + `--privileged` |
| 時區 | `Asia/Taipei` |
| 資料 Volume | `antmedia_volume``/usr/local/antmedia/` |
### Web 應用
| 路徑 | 說明 |
|------|------|
| `/LiveApp` | 主要使用WebRTC 20fps、HLS 啟用 |
| `/WebRTCAppEE` | WebRTC 企業版30fps目前無串流 |
| `/` | AMS Angular 管理後台 |
- 轉碼720p (1.5 Mbps) + 480p (1 Mbps)
- TURN/STUN 指向 `106.105.181.40:3478`
→ 詳見 [docs/antmedia.md](docs/antmedia.md)
## 5. 對外 Port 總表
| 協定 | Port |
|------|------|
| HTTP | 80、5080 |
| HTTPS | 443、1443、5443、8443RTMPS |
| RTMP | 1935 |
| TURN/STUN | 3478 |
| WebRTC UDP | 50000-60000 |
| 健康檢查 | 8081 |
## 6. SSL 憑證
兩張憑證分屬不同 CA需各自手動更新。
| 網域 | CA | 到期日 | 使用於 | 憑證位置 |
|------|----|--------|--------|----------|
| `tel.tpech.gov.tw` | **TWCA** | **2026-10-30** | Caddy | 主機 `/opt/caddy/fullchain.pem``privkey.pem` |
| `tel-server.tpech.gov.tw` | **TWCA** | **2026-10-30** | AMS | 容器內 `/usr/local/antmedia/conf/` |
> 兩張憑證均於 2026-04-16 從 HiPKI 換成 TWCA且只有半年效期→ 10/30
- AMS Keystore 密碼 = 網域名稱 `tel-server.tpech.gov.tw`
- 歷年憑證備份:`/opt/caddy/hospital/``/opt/antmediaserver/ssl_*/`
- **注意**:醫院前端有防火牆/WAF 做 TLS 終端,更新 Caddy 後需另外通知網管同步更新
→ 詳見 [docs/ssl.md](docs/ssl.md)
## 7. 備份
| 項目 | 方式 |
|------|------|
| AMS 資料卷 | `/opt/antmediaserver/backup_antmedia_data.sh` 產生 tar.gz |
| AMS 歷史完整備份 | `/opt/antmedia_*.tar.gz`(最新 2025-05-123.4GB |
| 憑證備份 | `/opt/caddy/hospital/``/opt/antmediaserver/ssl_*/` |
→ 詳見 [docs/maintenance.md](docs/maintenance.md)
## 8. 已知問題 / 待辦
- **TURN/STUN** 仍為預設帳密 `testuser` / `testpassword`,建議更換。
- **LiveApp `remoteAllowedCIDR`** 格式錯誤:`106.105.181.40.106.105.181.70`,中間句點應為逗號。
- **AMS 以 `--privileged` 運行**,安全上需留意。
- **host 網路模式**`caddy``antmedia` 皆共用主機所有 port變更前需檢查衝突。
## 9. 年度 SSL 更新流程(總覽)
1. 向中華電信提交 CSR。
2. 拿到 DCV 驗證檔 → 放入 `/opt/caddy/tel-server/.well-known/pki-validation/`
3. CA 驗證通過 → 取得新憑證。
4. 更新 Caddy覆蓋 `/opt/caddy/fullchain.pem``privkey.pem``./restart.sh`
5. 更新 AMS`cd /opt/antmediaserver && ./enable_ssl.sh ssl_tel_server_tpech_gov_tw_<年份>`
6. 備份新憑證 → `hospital/``ssl_*/` 目錄。
7. 備份 AMS 資料 → `./backup_antmedia_data.sh`
→ 詳細步驟見 [docs/ssl.md](docs/ssl.md),常用指令見 [QUICKSTART.md](QUICKSTART.md#ssl-憑證更新)。