# HTTPS/证书相关问题

## 开启 HTTPS 访问

有两种方式：

1. 添加支持 HTTPS 协议的源站并上传对应域名的 SSL 证书。如需将 HTTP 请求重定向为 HTTPS 请求，请开启【HTTPS 跳转】选项，仅支持 80 端口重定向到 443 端口。
2. 添加端口为 443 的 HTTPS 协议源站后，开启【HTTP 回源】选项，仅支持 443 端口回源到 80 端口，源站需开放 80 端口。

## 移动设备 HTTPS 访问异常

通常该问题出现在移动端浏览器（例如安卓系统预装浏览器、微信小程序）访问 HTTPS 网站时出现，原因是部分移动端浏览器会校验网站的 SSL 证书以及中间证书，如果缺少中间证书，则无法访问网站，而 UWAF 上查询不到此类访问的日志。

### 解决方案

1. 可以在证书颁发机构下载中间证书，使用文本编辑器或 `cat` 命令将中间证书内容追加在公钥文件内容之后，将包含了中间证书的公钥文件上传。
2. 通过第三方工具（推荐使用 `https://myssl.com/chain_download.html` ）补齐中间证书并下载包含完整证书链的证书，然后上传。
3. 联系 Genesis Cloud 技术支持，后台添加中间证书。

## SSL 证书格式

UWAF 支持 PEM 格式的证书（可通过 Genesis Cloud USSL 证书购买，下载 PEM 格式证书文件），通常 PEM 格式的证书包含两个文件，文件后缀为 pem 的是公钥文件，选择公钥文件后点击【上传公钥】按钮上传，文件后缀为 key（也有可能文件后缀也是 pem，可通过文件名区分公私钥）的是私钥文件，选择私钥文件后点击【上传私钥】按钮上传。

文件上传后，UWAF 会检验证书的正确性，如果检验不通过将返回错误且无法应用该证书，请按如下步骤进行排查后重新上传：

1. 公钥文件和私钥文件是否正确。
2. 上传的文件是否重复。
3. 可以通过第三方工具验证证书是否正确（推荐使用 `https://myssl.com/match_key.html`）。

如果 SSL 证书是从[USSL](/docs/ussl/operate/buy)购买或托管在[USSL](/docs/ussl/operate/upload)，UWAF 支持自动同步此类证书。

## SSL 客户端验证

UWAF 支持 HTTPS 域名配置客户端验证，如果您有这方面需求，请联系 Genesis Cloud 技术支持。并请准备好验证根证书，CRT 证书。
