零基础配置网站HTTPS强制跳转:Nginx与宝塔面板实战

为什么一定要做HTTPS强制跳转?

你可能已经给网站装好了SSL证书,能通过 https:// 正常访问。
但用户如果手动输入 http:// 或点击旧链接,仍然会加载未加密版本。网站HTTPS强制跳转的作用,就是把所有HTTP请求自动重定向到HTTPS,保证全程加密、避免浏览器显示“不安全”,对SEO和用户信任都至关重要。

前置条件:一个已生效的SSL证书

不管用哪种方法,请先确认你的SSL证书已正确部署并能用HTTPS打开域名。
如果证书未生效,强制跳转后只会看到连接错误。
常见的部署方式:

  • 宝塔面板:在站点设置 → SSL中申请或上传证书,开启“强制HTTPS”前保证HTTPS能正常访问。
  • 手动部署:证书文件放到 /etc/nginx/ssl/ 等目录,并正确配置到Nginx server块中。

方法一:宝塔面板可视化设置(推荐新手)

如果你用的是宝塔面板,操作路径最简单。
进入站点管理 → 选择你的域名站点 → 点击 SSL → 开启“强制HTTPS”。

注意:打开这个开关后,宝塔会自动在站点配置中插入301重定向规则,但有时会因为缓存不生效。
建议开启后重启Nginx或Apache:

  • 在宝塔左侧“服务”中找到Nginx,点击“重启”。
  • 或通过宝塔面板首页的“软件商店” → 已安装 → Nginx → 重启。

重启后用浏览器访问 http://你的域名,看是否自动跳转到 https://
若正常则完成。

方法二:Nginx手动配置(通用性强)

如果你未使用面板或想理解原理,直接修改Nginx配置文件。
登录服务器,找到站点对应的 .conf 文件(通常在 /etc/nginx/conf.d//etc/nginx/sites-enabled/)。

打开文件,找到监听80端口的 server 块,在内部添加 return 301 语句:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

关键点:

  • 301 表示永久重定向,搜索引擎会更新收录地址。
  • $host$request_uri 保留原始域名和请求路径,避免丢失参数。
  • 如果SSL证书配置在另一个 server 块内(监听443),请确保两个 server 块使用相同的 server_name。

保存文件后,测试Nginx配置是否正确:

nginx -t

如果显示 syntax is ok,则重载配置:

nginx -s reload

避坑指南与高频问题

1. 循环重定向(Redirect Loop)

当你访问 http://example.com 跳转到 https://example.com,但 https 的站点再次将你跳回http,就会死循环。
原因通常是:

  • 443端口 server 块内也额外写了一条80端口的return语句。
  • 宝塔同时开启了“强制HTTPS”和“强制SSL”但配置冲突。
  • WordPress或其他CMS插件也设置了重定向。

解决办法:检查Nginx配置,确保只有80监听块有return 301;
443块内不要重复写。
如果使用宝塔,关闭插件中的HTTPS重定向设置。

2. 证书路径写错导致无法启动配置

手动编辑Nginx时,443 server 块内的 ssl_certificatessl_certificate_key 路径一定要正确。
常见错误:多写了一个目录或文件名后缀不对。
nginx -t 检查时,报错会直接提示路径问题。

3. HSTS头设置(可选但建议)

强制跳转只是第一步,你还可以在443 server 块中添加HSTS头,让浏览器自动将http请求在本地转换为https,减少一次301跳转:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";

注意:启用includeSubDomains后,所有子域名也必须支持HTTPS,否则子域名将无法访问。
如果你只是做单站点,先不加includeSubDomains

验证效果:确保配置真正生效

完成配置后,别只靠肉眼。
用这三种方式验证:

  1. 直接浏览器访问 http://你的域名,地址栏应自动变为 https://
  2. 使用在线检测工具(如 httpstatus.io 或站长工具),输入http版URL,查看响应状态码是否为 301 且 Location 指向https。
  3. 查看响应头:在Chrome开发者工具 → Network → 点开第一个请求,Headers中应有 location: https://...

如果返回200或找不到页面,说明重定向未生效。
回头检查:

  • 80端口是否被其他配置覆盖。
  • Nginx是否已重载成功。

最后

完成网站HTTPS强制跳转后,你的站点全站加密,用户输入任何旧链接都会自动跳转到安全版本。
即使遇到循环重定向或证书路径报错,按本文避坑部分检查即可解决。
如果你正在处理多站点或CDN场景,建议先按本文步骤完成基础配置,再根据实际环境微调;
遇到异常时优先回看避坑和高频问题部分。

分享到:
上一篇
网站移动端适配从零开始:三步让手机浏览不卡不歪
下一篇
网站防盗链配置教程:Nginx与宝塔面板实操指南
1
系统公告

高考专属福利来袭|凭准考证免费领香港 CN2 云服务器

值高考落幕之际,泽御云开启考生专属回馈 + 产品限时特惠双重活动,助力学子暑期学习建站 高考 考生专属福利 全体应届高考生,凭高考准考证即可免费申领【香港 CN2 轻量云服务器,4 核 4G AMD 处理器】,免费使用周期 30 天,可用于搭建个人站点、编程实操、技术实训,祝各位考生金榜题名,前程似锦! 泽御云资质齐全合规自营机房,线路覆盖香港 CN2、国内 BGP、内蒙电信、美国精品线路,售后全天候技术支持。 官方网站:www.zeyuyun.com,活动限时有效,优惠逾期不再保留。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意