紀錄 .htaccess 改用 X-Forwarded-For + 末尾錨定的設計,以及兩個 不從程式碼能直接看出的雷:NPM 反向代理讓後端 REMOTE_ADDR 失效, Apache RewriteCond 的 regex 不可含 literal space 否則 vhost 500。 順手把新檔加進 README 文件清單。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
54 lines
1.8 KiB
Markdown
54 lines
1.8 KiB
Markdown
# 106.105.181.70 - Hospital Web Server
|
||
|
||
台北市立聯合醫院網頁伺服器 (`tpesupporter.tpech.gov.tw`) 相關設定與文件。
|
||
|
||
## 文件說明
|
||
|
||
| 檔案 | 說明 |
|
||
|---|---|
|
||
| `dns_records.md` | tpech.gov.tw 子網域 DNS A 記錄 |
|
||
| `ssh_config.md` | SSH 連線架構與跳板機設定 |
|
||
| `docker-compose-note.md` | Docker Compose 服務架構筆記 |
|
||
| `ssl_cert_note.md` | SSL 憑證資訊與待處理事項 |
|
||
| `ssl_deploy_guide.md` | SSL 憑證部署 SOP |
|
||
| `admin_access_note.md` | `/admin/` IP 白名單機制(.htaccess + X-Forwarded-For) |
|
||
| `ssl_certs/` | SSL 憑證檔案(.cer、中繼憑證) |
|
||
| `reset_npm_password.sh` | NPM 管理員密碼重設腳本 |
|
||
| `check_ssl.sh` | 憑證狀態檢查腳本(主機名匹配 + 到期天數) |
|
||
|
||
## 伺服器架構
|
||
|
||
```
|
||
[本機] → jason_hsieh_home_srv (跳板機)
|
||
├── hospital_media (106.105.181.40) — 影音/通訊服務 (tel.tpech.gov.tw)
|
||
└── hospital_web (106.105.181.70) — 網頁/NPM 管理 (tpesupporter.tpech.gov.tw)
|
||
```
|
||
|
||
## 連線方式
|
||
|
||
```bash
|
||
# 連線至本機 (Hospital Web Server)
|
||
ssh hospital_web
|
||
|
||
# 連線至影音伺服器
|
||
ssh hospital_media
|
||
```
|
||
|
||
> 需於 `~/.ssh/config` 設定跳板機,詳見 `ssh_config.md`。
|
||
|
||
## 憑證檢查
|
||
|
||
`check_ssl.sh` 部署於 `hospital_web:~/check_ssl.sh`,本機亦保留同一份作版控。
|
||
結束碼:`0` 正常 / `1` 連線失敗 / `2` 已過期 / `3` 即將到期 / `4` CN/SAN 不符。
|
||
|
||
```bash
|
||
# 預設檢查 tpesupporter.tpech.gov.tw:443
|
||
ssh hospital_web '~/check_ssl.sh'
|
||
|
||
# 指定其他網域 / 調整警告閾值(預設 30 天)
|
||
ssh hospital_web 'WARN_DAYS=14 ~/check_ssl.sh other.example.com 443'
|
||
```
|
||
|
||
> GCA G3 根憑證不在 Linux 預設信任庫,`openssl verify` 回 code 20 屬正常;
|
||
> 腳本不把它列為失敗條件。
|