首页/安全/加密与证书速查/HTTP 到 HTTPS 跳转配置
本包目录(305 条)
加密算法基础95 条
TLS 与 HTTPS60 条
证书与 PKI30 条OpenSSL 实战30 条证书运维排查49 条密钥管理41 条

HTTP 到 HTTPS 跳转配置

在 80 端口用 301/308 重定向到 HTTPS,是启用 TLS 后的基础动作;要点是保留 Host 与完整 URI,并在有前置代理时避免跳转循环。

加密与证书速查安全更新于 2026-10-12
状态码301 永久重定向(可缓存)、308 保留请求方法与请求体
nginx 方式return 301 https://$host$request_uri;(比 rewrite 更轻量)
反代场景负载均衡已终止 TLS 时,源站需依据 X-Forwarded-Proto 判断,避免死循环
保留项原 URI 与查询串一并保留,不要丢掉路径参数

nginx 跳转片段

nginx 跳转片段
server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}
除 80 端口外,8080/8000 等监听端口也可以用同样方式收敛到 HTTPS。

易错点

  • 前置代理已做 HTTPS,源站再跳转 http 到 https 会造成无限重定向
  • 用 rewrite 携带查询串时容易丢参数,优先用 return 加 $request_uri

数据来源与参考

  • nginx 官方文档(return 指令)
  • RFC 9110 §15.4(308 状态码)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌