浏览器显示“不安全”大概率是nginx未成功加载https:先检查443端口是否被宝塔面板占用(netstat确认nginx监听),再验证证书路径、权限及完整性(需含中间证书链),最后确保重启nginx而非仅重载配置。

宝塔面板里开了HTTPS,但浏览器仍显示“不安全”
大概率不是证书没装上,而是 Nginx 根本没加载成功——常见于 443 端口被占、证书链缺失、或配置未真正生效。别急着重申请证书,先看这几处。
确认 443 端口是否真由 Nginx 监听
宝塔 UI 显示「SSL 已开启」≠ Nginx 正在用 443。很多用户改过面板端口却误设为 443,导致 bt 进程自己绑了 :443,网站根本没机会响应 HTTPS 请求。
- 终端执行:
netstat -tlnp | grep :443,若输出中nginx没出现,只有python或bt,说明面板抢了端口 - 立刻进「软件商店 → 面板核心 → 设置」,把面板端口改回
8888(或其他非标端口),然后重启面板 - 再跑一遍
netstat,确认nginx出现在:443行;如果还是没出现,检查站点配置文件里有没有listen 443 ssl
检查 Nginx 是否真的加载了证书文件
证书路径写错、权限不对、PEM 格式损坏,Nginx 会静默失败——宝塔 UI 不报错,但日志里早有线索。
- 查错误日志:
tail -n 20 /www/wwwlogs/nginx_error.log,重点找含SSL_CTX_use_certificate_chain_file或SSL_CTX_use_PrivateKey_file的报错行 - 确认配置中证书路径是绝对路径,且文件存在:
ls -l /www/wwwroot/your-site/ssl/,应看到fullchain.pem和privkey.pem - 权限必须严格:
chown -R root:www /www/wwwroot/your-site/ssl/&&chmod -R 640 /www/wwwroot/your-site/ssl/;cat能读 ≠ Nginx 能读
验证证书链是否完整(尤其对 Let's Encrypt 用户)
宝塔默认只用 cert.pem,但现代浏览器要求证书链包含中间 CA。缺了它,就显示“连接不安全”,哪怕域名匹配、时间有效。
- 去证书颁发商后台下载完整包,至少拿到
cert.pem+chain.pem(或fullchain.pem) - 手动合并:
cat cert.pem chain.pem > /www/wwwroot/your-site/ssl/fullchain_with_intermediate.pem(顺序不能颠倒) - 在宝塔 SSL 页面 → 「其他证书」→ 把合并后的文件内容粘贴进「证书(PEM格式)」框;私钥仍填
privkey.pem内容 - 保存后务必执行「重启 Nginx」,不是「重载配置」——旧版本重载不刷新证书链缓存
家庭宽带用户要额外注意:即使本地 curl -I https://localhost 成功,外网仍可能打不开。国内多数运营商封 443,建议用手机 4G/5G 直接访问 https://你的公网IP:443 测试;不通就换端口试一次,比如 listen 8443 ssl,这是最快速的隔离手段。











