主题
使用 BoringSSL
Pingora 支持使用 BoringSSL 提供高性能的 TLS/HTTPS 加密,确保客户端与上游服务器之间的通信安全。
配置 TLS
在 Pingora 配置文件中启用 TLS:
yaml
tls:
enable: true
cert: "/etc/ssl/certs/server.crt"
key: "/etc/ssl/private/server.key"
min_version: TLS1.2
max_version: TLS1.3
cert
:服务器证书路径key
:私钥路径min_version
/max_version
:TLS 协议版本范围
BoringSSL 特性
- 高性能的加密库,适合高并发场景
- 支持最新的 TLS 1.3 协议
- 与 OpenSSL API 高度兼容
- 提供安全增强特性,减少已知漏洞风险
启用 HTTPS 服务
rust
let server = Server::new(Some(TlsConfig {
cert_path: "/etc/ssl/certs/server.crt".into(),
key_path: "/etc/ssl/private/server.key".into(),
}))?;
server.bootstrap();
server.run_forever(http_proxy_service(None))?;
- 初始化服务器时传入 TLS 配置
- Pingora 会自动处理 HTTPS 握手和加密传输
高级技巧
- 证书热更新:在不中断服务的情况下更新证书
- 客户端证书验证:实现双向 TLS(mTLS)
- 性能优化:启用 session reuse 或 TLS 0-RTT 加速握手
- 安全加固:禁用不安全加密算法,启用强加密套件
通过使用 BoringSSL,Pingora 可以提供安全、高性能的 HTTPS 服务,保障请求和数据在传输中的机密性与完整性。