官网上HTTPS和安全头怎么配
HTTPS 是现代官网的标配,没 HTTPS 浏览器会标"不安全"影响信任。本文讲清 HTTPS 的配置、SSL 证书选型、安全头设置和避坑要点。
打开一个网站,浏览器地址栏显示"不安全"——访客的第一印象就坏了。HTTPS 已经是现代官网的标配,没 HTTPS 不仅影响信任,还影响 SEO 和功能(如 PWA、地理位置)。 这篇文章讲清 HTTPS 怎么配、SSL 证书怎么选、安全头怎么设。
HTTPS 是什么
HTTPS(HTTP Secure)= HTTP + SSL/TLS。它通过加密传输、身份认证、数据完整性保护,解决 HTTP 的三个问题:
- 窃听:HTTP 明文传输,第三方可以看内容。HTTPS 加密。
- 篡改:HTTP 内容可被中间人修改。HTTPS 防篡改。
- 冒充:HTTP 无法验证服务器身份。HTTPS 用证书验证。
为什么必须上 HTTPS
| 维度 | HTTP | HTTPS |
|---|---|---|
| 浏览器标识 | "不安全" | 锁形图标 |
| SEO | 排名略低 | Google 排名因素 |
| 数据安全 | 明文传输 | 加密传输 |
| 功能限制 | 无 PWA、地理位置、摄像头 | 全功能 |
| 用户信任 | 低 | 高 |
| HTTP/2、HTTP/3 | 不支持 | 必须 HTTPS |
SSL 证书类型
按验证级别
| 类型 | 验证 | 签发时间 | 成本 | 显示 |
|---|---|---|---|---|
| DV(域名验证) | 只验域名 | 几分钟 | 免费到几百 | 锁形图标 |
| OV(组织验证) | 验证公司 | 1 到 3 天 | 几百到几千 | 锁形 + 公司信息 |
| EV(扩展验证) | 严格验证 | 3 到 7 天 | 几千到上万 | 曾显示绿色地址栏 |
按域名范围
| 类型 | 说明 | 适合 |
|---|---|---|
| 单域名 | 一个域名 | 单一官网 |
| 多域名(SAN) | 多个域名共用一张 | 多域名企业 |
| 通配符 | 一个主域名 + 所有子域名 | 子域名多 |
免费 SSL 推荐
Let's Encrypt
- 免费、自动化。
- 3 个月有效期,需自动续签。
- 主流 Web 服务器(Nginx、Apache)都支持。
- 工具:Certbot、acme.sh。
阿里云免费 DV
- 阿里云用户免费。
- 1 年有效期。
- 控制台一键申请。
腾讯云、华为云免费 DV
- 类似阿里云。
HTTPS 配置步骤
1. 申请 SSL 证书
- 选 Let's Encrypt(自动化)或云厂商免费 DV。
- 完成域名验证。
2. 配置 Web 服务器
Nginx 示例:
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;
ssl_prefer_server_ciphers on;
}
server {
listen 80;
server_name example.com;
return 301 https://$server_name$request_uri;
}
3. HTTP 跳转 HTTPS
- 所有 HTTP 请求 301 跳转到 HTTPS。
- 不要用 302(不利 SEO)。
4. 测试 SSL 配置
- 用 SSL Labs(ssllabs.com/ssltest)测试评级。
- 目标:A 或 A+。
5. 自动续签
- Let's Encrypt:用 Certbot 配置 cron。
- 云厂商:到期前提醒续签。
安全头设置
除了 HTTPS,还要配安全头(HTTP Security Headers)保护网站。
主要安全头
| 安全头 | 作用 | 推荐配置 |
|---|---|---|
| HSTS | 强制 HTTPS | max-age=31536000; includeSubDomains; preload |
| CSP | 内容安全策略 | 限制资源加载来源 |
| X-Frame-Options | 防点击劫持 | DENY 或 SAMEORIGIN |
| X-Content-Type-Options | 防 MIME 嗅探 | nosniff |
| Referrer-Policy | 控制 Referer | strict-origin-when-cross-origin |
| Permissions-Policy | 浏览器功能权限 | 按需配置 |
HSTS 配置(Nginx)
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
注意:
- 初期 max-age 设小一点(如 300),确认没问题再加到一年。
- includeSubDomains 影响所有子域名,确认都是 HTTPS。
- preload 列表加入后很难撤回,慎重。
CSP 配置
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:;" always;
CSP 难点:第三方脚本(统计、客服、广告)要加入白名单,配置不当会阻塞资源加载。建议先用 report-only 模式观察。
常见 HTTPS 配置错误
1. 混合内容(Mixed Content)
页面用 HTTPS,但图片、CSS、JS 还用 HTTP,浏览器警告或拦截。
对策:所有资源都用 HTTPS,或用相对协议(//)。
2. 证书过期
Let's Encrypt 3 个月有效期,忘续签就过期。
对策:自动续签脚本 + 监控告警。
3. 证书域名不匹配
证书是 example.com,访问 www.example.com 不匹配。
对策:申请包含 www 和根域名的证书(或通配符)。
4. HSTS 配置过激
开 HSTS 后想回退 HTTP,浏览器还强制 HTTPS。
对策:先小 max-age 测试,确认稳定再加大。
5. CSP 太严
CSP 配置不当,资源加载失败,页面破碎。
对策:report-only 模式观察、逐步收紧。
HTTPS 和 SEO
Google 处理方式
- 把 HTTPS 作为排名信号(轻微)。
- HTTP 转 HTTPS 要用 301 重定向。
- Search Console 重新添加 HTTPS 版本。
百度处理方式
- 百度对 HTTPS 友好度提升。
- 同样要 301 重定向。
- 站长平台重新认证。
成本参考
| 项目 | 成本 |
|---|---|
| Let's Encrypt 免费证书 | 0 |
| 云厂商免费 DV | 0 |
| 商业 DV 证书 | 几百到上千 |
| OV 证书 | 几百到几千 |
| EV 证书 | 几千到上万 |
| 通配符证书 | 几百到几千 |
| HTTPS 配置服务 | 含在建站或几百到几千 |
常见误区
- "我的网站不重要不用 HTTPS":浏览器标"不安全",访客失去信任。
- "用自签证书省钱":浏览器警告,更糟。
- "上了 HTTPS 就万事大吉":还要配 HSTS、CSP 等安全头。
- "证书续签忘了":过期网站打不开。
- "HTTP 跳 HTTPS 用 302":不利 SEO。
- "忽视混合内容":浏览器警告或拦截。
- "HSTS 一次开到最大":回退困难。
怎么开始
- 选择 SSL 证书类型(推荐免费 DV 起步)。
- 申请证书,完成域名验证。
- 配置 Web 服务器(Nginx/Apache)。
- 设置 HTTP 301 跳 HTTPS。
- 配置安全头(HSTS、CSP、X-Frame-Options 等)。
- 用 SSL Labs 测试,达到 A 或 A+。
- 配置自动续签和监控。
广州市汉诺雷斯(HNREIS)做企业官网默认配置 HTTPS 和主流安全头(HSTS、CSP、X-Frame-Options 等),用 Let's Encrypt 自动续签。把你的官网部署情况告诉我们,我们给出 HTTPS 和安全配置方案。
常见问题
本文由 广州市汉诺雷斯(HNREIS) 整理。我们专注微信小程序开发、企业网站建设、外贸 B2B 独立站与 AI 智能体搭建,为企业提供从需求梳理到上线运维的全流程软件开发服务。
免费咨询需求