# 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。连接中保存的地址应当与你确认信任的地址一致。
