互联网教程
HTTP 怎么强制跳 HTTPS
证书装好不等于用户就走 HTTPS:老链接、外链、用户手输都可能进 http。一条 301 规则把 80 端口的请求全部转到 443。
核心结论
- 用 301 而不是 302,让搜索引擎更新索引
- 跳转要保留路径与参数
- 配 HSTS 后浏览器会强制走 HTTPS
一句话:标准做法:80 端口的 server 块里写一条 return 301 https://$host$request_uri,一条规则覆盖所有路径与参数。
nginx 配置
- 单独建 80 的 server 块不要和 443 混在一起,逻辑最清晰。
- 写跳转规则
return 301 https://$host$request_uri;,用 $request_uri 保留完整路径与查询参数。 - 保留证书验证路径如果要做文件验证,把
/.well-known/acme-challenge/放行到本地目录。 - 检查并重载
nginx -t && nginx -s reload。 - 验证用
curl -I http://域名/任意路径?x=1看是否返回 301 且 Location 正确。
301 与 302 的区别
301 是永久跳转,搜索引擎会把权重与索引转到新地址;302 是临时跳转,旧地址的索引仍保留。切 HTTPS释 是永久变更,必须用 301,否则 http 页面会长期留在索引里。
注意:不要用前端释 JS 做跳转。JS 跳转对搜索引擎不友好、首屏会闪一下、而且在弱网下容易失败。服务端 301 是唯一正确做法。
HSTS:让浏览器记住
加 Strict-Transport-Security: max-age=31536000; includeSubDomains 响应头后,浏览器在有效期内对该域名释只用 HTTPS 访问,连第一次的 http 请求都不发。注意 includeSubDomains 会覆盖所有子域,确认每个子域都有证书再加。
常见错误
- 跳转后变成首页:用了
return 301 https://域名;丢掉了路径。 - 死循环:反代后面还有一层,$host 与实际域名不一致,来回跳。
- 混合内容:页面是 https,但图片、JS 仍用 http,浏览器显示「不安全」。
资料来源
- RFC 6797:HTTP Strict Transport Security 规范。
- nginx 文档:return 指令与 $request_uri 变量。
- Google 搜索中心《HTTPS 作为排名信号》说明。
常见问题
配了跳转,小程序还是报错?
小程序要求请求的域名本身支持 HTTPS,跳转不算。检查接口地址是否直接写成了 https,而不是 http 靠服务端跳转。
HSTS 能不能撤销?
可以去掉响应头,但已经缓存到浏览器里的策略在 max-age 到期前仍然生效。调试阶段先用较短的 max-age。
个别页面还需要 http 访问怎么办?
说明该页面引用了不支持 HTTPS 的第三方资源,应该换资源而不是保留 http。混用会让整页失去安全标识。
相关阅读
域名实名认证怎么做
实名不是给域名单独上传证件,而是给「信息模板」做实名,再用模板去买域名。审核通常 3~5 个工作日,未通过时域名会被注册局锁定,已配的解析也会暂停。
如何购买阿里云域名
买域名的关键不在挑名字,而在「信息模板」有没有通过实名。模板没实名,钱付了域名也用不了;.cn 和 .xin 还有注册后 5 天内必须实名通过的硬期限。
备案要多久,能不能加急
服务商初审 1~2 个工作日,工信部短信 24 小时内回填,管局审核 1~20 个工作日——所以整体是 3 到 22 个工作日,差距全在管局这一段,且官方不支持加急。
网站被投诉侵权怎么处理
侵权投诉分四类:著作权(图片、字体、文章)、商标、专利、名誉权。处理顺序是「先下架止损,再核实权利,最后决定和解或抗辩」。
公安联网备案怎么做
拿到 ICP 备案号只是第一步。网站正式能访问那天起 30 日内,还要到全国互联网安全管理服务平台办一次公安备案,通过后把编号和图标挂到页面底部。
换服务器怎么做到不中断
换服务器的中断时间取决于三件事:TTL 有没有提前降、数据有没有同步、切换有没有回退方案。做好这三点,用户几乎感知不到。