# HTTPS 與遠端存取

本機瀏覽器可以透過 `http://127.0.0.1:8080` 使用哨站。iOS App 需要手機能存取、且證書受信任的 **HTTPS 地址**。手機上的 `localhost` 指手機本身。

## 選擇存取地址

使用在實際使用網路中能解析到哨站伺服器的域名。手機和伺服器能夠互通時，也可以透過私有網路或 VPN 存取。建立邀請前，先在手機上確認 DNS、防火牆和證書都正常。

哨站的 8080 埠保持綁定迴環地址或私有 Docker 網路，由反向代理提供 HTTPS。建議使用獨立域名，例如 `https://mail.example.org`，讓哨站從 `/` 路徑提供服務。

## 在宿主機設定反向代理

Caddy 安裝在同一宿主機時，替換以下示例域名，並設定 DNS 和簽發證書所需的 80/443 埠：

```caddyfile
mail.example.org {
    reverse_proxy 127.0.0.1:8080
}
```

使用 nginx 時，填寫證書路徑並保留原始 Host：

```nginx
server {
    listen 443 ssl;
    server_name mail.example.org;
    ssl_certificate /etc/letsencrypt/live/mail.example.org/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mail.example.org/privkey.pem;
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
```

容器中的代理應透過共享 Docker 網路存取哨站；代理容器裡的 `127.0.0.1` 指向代理容器本身。哨站監聽埠僅開放給代理或可信客戶端，因為私網代理可以傳入轉發頭。

## 從手機驗證

先用 Safari 開啟 HTTPS 地址，確認證書有效、頁面可存取，再登入並儲存一項設定，驗證代理頭和寫請求正常。隨後[連接 App](connect-app.md)。Safari 無法存取時，先解決域名、網路或證書問題。

更換對外地址後，用新地址建立邀請並重新連線 App。連線中儲存的地址應當與你確認信任的地址一致。
