宝塔网站无法使用HTTPS_检查SSL配置与端口转发

老瑶吖_9875

老瑶吖_9875

2026-03-25

1147人浏览

原创

HTTPS不生效首要排查443端口是否被占用,其次检查云平台安全组、WAF/负载均衡配置、证书链完整性、Nginx SSL模块支持及反向代理的X-Forwarded-Proto头传递。

宝塔网站无法使用https_检查ssl配置与端口转发

宝塔面板里 HTTPS 不生效,先查 443 端口有没有被占

很多情况根本不是证书问题,而是 443 端口压根没通。宝塔默认会监听这个端口,但如果服务器上跑着 Docker、Nginx 独立实例、或其它 Web 服务(比如某些监控面板),443 就可能被抢走。

实操建议:

  • 执行 netstat -tuln | grep :443,看输出里是不是只有宝塔的 nginx 进程在监听;如果不是,得停掉冲突服务
  • 检查宝塔「安全」页面里,443 端口是否已放行(尤其阿里云/腾讯云等厂商控制台也要同步开)
  • 如果用了云服务商的负载均衡或 WAF,确认它是否把 HTTPS 流量转成了 HTTP 再发给后端——这种情况下,宝塔站点必须设为「强制 HTTP」或关闭 SSL,否则会循环重定向

SSL 证书显示“已启用”,但浏览器仍报 NET::ERR_CERT_INVALID

这通常说明证书链不完整,或者域名不匹配。宝塔自动申请的 Let's Encrypt 证书依赖中间证书,而某些老版本 Nginx 或自定义配置里漏掉了 fullchain.pem 的加载。

实操建议:

  • 进站点设置 → SSL → 查看证书内容,确认 证书(PEM 格式) 文本框里粘的是 fullchain.pem(含服务器证书 + 中间证书),不是单独的 cert.pem
  • 用 openssl x509 -in /www/wwwroot/your.site/cert.pem -text -noout | grep DNS 检查 SAN 域名列表,确保你访问的域名(比如 www.example.com)在其中
  • 如果用了泛域名证书(*.example.com),注意它不覆盖根域名(example.com),得额外加一条

开启 HTTPS 后网站打不开,Nginx 报错 unknown directive "ssl"

这是 Nginx 编译时没带 SSL 模块,常见于手动编译或某些精简版系统镜像。宝塔安装时一般会自动处理,但如果你中途升级过 Nginx 或切换过版本,就可能出这问题。

SSL Certificate Monitor
SSL Certificate Monitor

检查一个或多个域名的 SSL/TLS 证书到期时间、颁发者、协议及 SAN 信息,用于应要求检查证书、监控到期或验证 HTTPS 等场景。

下载

实操建议:

  • 运行 nginx -V 2>&1 | grep -o with-http_ssl_module,没输出就说明模块缺失
  • 不要自己重新编译——直接在宝塔「软件商店」里卸载当前 Nginx,再重装同版本(比如 Nginx 1.22),宝塔安装包自带 SSL 支持
  • 重装后记得去「网站」→「设置」→「SSL」里重新保存一次配置,触发 Nginx 配置重写

用宝塔反向代理时 HTTPS 正常,但后端服务返回的链接仍是 HTTP

典型表现:网页能打开,但 CSS、JS 加载失败,或者登录后跳回 HTTP 地址。这是因为后端程序(比如 WordPress、Typecho)没意识到自己正被 HTTPS 反代,仍按原始请求协议生成 URL。

实操建议:

  • 在反向代理配置里,确保添加了这两行头:
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host $host;
  • 后端如果是 PHP 应用,需在代码或配置中识别 X-Forwarded-Proto。例如 WordPress 要在 wp-config.php 加:
    if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') { $_SERVER['HTTPS'] = 'on'; }
  • Node.js 或 Python(如 Flask)应用也得主动读取该 header,不能只依赖 req.protocol 或 request.scheme

最常被忽略的是:反向代理和源站之间用 HTTP 通信时,源站本身不需要配 SSL,但必须信任代理传来的 X-Forwarded-* 头——否则一加验证逻辑,反而导致跳转死循环

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

ssl

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

40

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

20

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

20

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

40

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

40

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

40

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

40

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

40

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 0.1万人学习