Files
106_105_181_40/docs/caddy.md
Timmy 394abb181e docs: 記錄 WebRTCAppEE REST API 白名單新增,補充容器掛載資訊
- antmedia.md / maintenance.md: 新增 `remoteAllowedCIDR` 白名單章節,
  記錄 2026-04-17 將 `172.17.0.3`、`172.17.0.4`(php / php-staging
  容器 bridge IP)加入 WebRTCAppEE,解決 PHP 呼叫錄影 REST API 回 403
  「Not allowed IP」問題;含修改 SOP、容器重建 IP 變動提醒。
- host.md: 容器一覽表加入「掛載目錄」欄位,明列 php / php-staging
  的網站根目錄掛載。
- caddy.md: `:1443` → php-staging 路由補註網站根目錄路徑。
2026-04-17 15:40:33 +08:00

3.3 KiB
Raw Permalink Blame History

Caddy 反向代理

  • 部署路徑:/opt/caddy
  • 使用 docker-compose.yaml 管理,--network host 模式
  • Volume 掛載:Caddyfilecaddy_data、SSL 憑證、tel-server 靜態檔案

操作腳本

./run.sh                        # docker-compose up -d
./stop.sh                       # docker-compose down
./restart.sh                    # stop + run
./shell.sh                      # docker exec -it caddy sh
./list-containers.sh            # docker-compose ps
./view-output-from-containers.sh  # docker-compose logs -f

路由規則Caddyfile

入口 後端 說明
tel.tpech.gov.tw:443 127.0.0.1:8888php 容器) 正式環境HTTPS
tel.tpech.gov.tw:443/phpmyadmin/* 10.200.251.40:1888 phpMyAdminstrip prefix 後轉發)
tel.tpech.gov.tw:80 127.0.0.1:8888 正式環境HTTP
:1443 127.0.0.1:6666php-staging 容器,網站根目錄 /opt/php-staging/www 測試環境ISO27001
tel-server.tpech.gov.tw:80/443 /srv/tel-server 靜態檔案服務(用於 PKI 驗證 .well-known
:443 / :80 127.0.0.1:8888 其他網域的 fallback
:8081 健康檢查(回傳 "I am 8081"
  • auto_https off:不使用 Caddy 自動 HTTPS手動管理憑證

Caddy SSL 憑證

項目
網域 tel.tpech.gov.tw
簽發者 TWCA Secure SSL Certification Authority2026-04-16 起)
有效期 2026-04-15 ~ 2026-10-30(僅半年)
憑證路徑(主機) /opt/caddy/fullchain.pem/opt/caddy/privkey.pem
憑證路徑(容器內) /etc/caddy/ssl/fullchain.pem/etc/caddy/ssl/privkey.pem

前一張為中華電信 HiPKI2025-04-23 ~ 2026-04-23已備份至 /opt/caddy/hospital/ssl_tel_tpech_gov_tw_pre_2026_10_backup/

更新 Caddy 憑證

完整 SOP 見 sop-update-caddy-ssl.md。快速摘要:

# 1. 上傳新憑證到主機(經 /tmp 中轉避免權限問題)
scp fullchain.pem privkey.pem hospital_media:/tmp/
ssh hospital_media "sudo mv /tmp/fullchain.pem /tmp/privkey.pem /opt/caddy/ && \
  sudo chmod 644 /opt/caddy/fullchain.pem && \
  sudo chmod 600 /opt/caddy/privkey.pem"

# 2. 重啟 Caddy需要 sudo
ssh hospital_media "cd /opt/caddy && sudo ./restart.sh"

# 3. 驗證(本地連線最可靠,外部可能被防火牆/WAF 攔截)
ssh hospital_media "openssl s_client -connect 127.0.0.1:443 \
  -servername tel.tpech.gov.tw </dev/null 2>/dev/null \
  | openssl x509 -noout -issuer -dates"

注意:醫院前端有防火牆做 TLS 終端,外部 openssl s_client 可能看到舊憑證。須另外通知網管更新。

憑證備份(/opt/caddy/hospital/

目錄 內容
hospital/ssl_tel_tpech_gov_tw_2026_10/ tel.tpech.gov.tw 2026 TWCA 憑證cert.zip + fullchain + key
hospital/ssl_tel_tpech_gov_tw_pre_2026_10_backup/ 更新前的舊 HiPKI 憑證備份
hospital/ssl_tel_tpech_gov_tw_2025/ tel.tpech.gov.tw 2025 年 HiPKI 憑證key + csr + fullchain
hospital/ssl_tel_server_tpech_gov_tw_2025/ tel-server.tpech.gov.tw 2025 年憑證key + csr + fullchain

相關文件