# 酒店、机场、高铁 Wi-Fi 上证书报错（认证页 Captive Portal）

> 公共 Wi-Fi 的登录认证页会拦截 HTTPS，没登录时打开任何网站都可能报证书错误。说明怎么判断是认证页造成的，以及在电脑和手机上安全打开认证页的方法。

Source: https://ssl.sh/zh/errors/captive-portal-ssl-error/
Last updated: 2026-11-10

**在公共 Wi-Fi 上遇到证书错误，通常说明你还没完成网络的登录认证。** 在你登录或同意条款之前，网络会拦截你的请求并试图把它跳转到认证页。HTTPS 网站没法用有效证书完成这种跳转，于是浏览器显示的是证书警告，而不是登录页。

## 先判断是网站的问题还是你设备的问题

都不是，是网络的问题。确认方法：同一个网站用手机流量能打开，[SSL 检测](https://ssl.sh/zh/tools/ssl-checker/) 也显示证书有效：

```bash
curl ssl.sh/example.com
```

刚连上某个 Wi-Fi，几个无关的 HTTPS 网站就都报域名不符或签发者不受信任，基本可以确定是认证页造成的。不要接受这些警告，去找到登录页。

## 原因

多数情况是你还没完成登录认证。下面按出现频率列出 5 种情况。

### 1. 还没登录认证

在你认证之前，认证页会应答所有连接。打开一个明文 HTTP 页面，它就能顺利把你跳转过去：

```text
http://example.com
```

高铁、机场、酒店、商场的 Wi-Fi 常要求手机号验证码登录，跳到认证页后按提示操作即可。

### 2. 系统没有自动检测到认证页

手机和电脑连上网络后会访问一个固定的 HTTP 地址，被重定向了就弹出登录窗口。VPN、自定义 DNS 或加密 DNS 可能让这一步失效。临时关掉它们，然后重新连接。

### 3. 浏览器先打开的是 HTTPS 或 HSTS 网站

主页或恢复的标签页是 HTTPS 网站，常常还启用了 HSTS，认证页没法重定向它。Chrome 有时能识别这种情况，显示一个带“连接”按钮的页面，帮你打开登录页。

### 4. 登录已过期

很多认证页过几个小时或设备休眠后就会让你重新登录，在那之前证书错误会反复出现。

### 5. 登录后网络仍在拦截

少数网络登录后仍然过滤 HTTPS。如果证书颁发者是网络运营方，就把这个网络当作不可信。

## 在各浏览器/系统上的样子

| 设备 | 显示内容 |
|---|---|
| Chrome / Edge / 360 / QQ 浏览器 | 提示连接 Wi-Fi 的页面，或者 [NET::ERR_CERT_COMMON_NAME_INVALID](https://ssl.sh/zh/errors/net-err-cert-common-name-invalid/) / [NET::ERR_CERT_AUTHORITY_INVALID](https://ssl.sh/zh/errors/net-err-cert-authority-invalid/) |
| Firefox | [SSL_ERROR_BAD_CERT_DOMAIN](https://ssl.sh/zh/errors/ssl-error-bad-cert-domain/)，有时顶部会出现打开网络登录页的提示条 |
| iPhone / iPad | 自动弹出登录窗口；没弹出时 Safari 显示“此连接非私人连接” |
| 安卓 | 通知栏提示登录 WLAN 网络 |

## 如何安全地上网

安全的做法是先打开一个 http:// 地址触发登录页，登录完成后再访问 HTTPS 网站。

**1. 在新标签页打开 http://example.com**（不是 https），或者点系统弹出的登录通知。

**2. 登录前先断开 VPN、关掉自定义 DNS**，登录后再打开。

**3. 登录后刷新原来的网站。** 还报证书错误就看颁发者；有些网站完全打不开的原因见 [HSTS 报错](https://ssl.sh/zh/errors/hsts-cannot-bypass/)。

## 站长怎么修

只要 `curl ssl.sh/example.com` 显示证书有效，你的服务器就不用改。Wi-Fi 运营方应该实现 Captive Portal API（RFC 8908）和 DHCP/RA 选项（RFC 8910），让设备不必拦截 HTTPS 就能找到登录页。
