此站点的连接不安全怎么解决?

更新时间:2025-12-31 来源:TopSSL技术团队

此站点的连接不安全怎么办?SSL证书错误原因与解决方法

浏览器提示“此站点的连接不安全”,不一定意味着SSL证书本身有问题。需要先看浏览器给出的具体错误,例如证书过期、域名不匹配、证书不受信任,还是网站仍然通过 HTTP 访问。

如果网站已经安装SSL证书,但浏览器仍提示不安全,可以按照“​访问协议 → 证书有效期 → 域名 → 证书链 → 页面资源 → TLS配置​”的顺序排查,一般能够较快定位问题。


为什么会提示“此站点的连接不安全”?

常见原因主要有以下几类。

1. 网站仍然使用HTTP访问

如果访问地址是:

http://www.example.com

而不是:

https://www.example.com

那么浏览器无法通过HTTPS提供的加密连接保护网页通信。

这种情况下,需要先在服务器部署SSL证书,然后将HTTP请求重定向到HTTPS

例如Nginx可以配置:

server {
    listen 80;
    server_name example.com www.example.com;

    return 301 https://$host$request_uri;
}

配置完成后测试:

nginx -t

确认没有错误后重新加载Nginx。


2. SSL证书已经过期

SSL/TLS证书具有明确的有效期,并不是申请一次就可以永久使用。

如果证书的 Not BeforeNot After 时间范围不包含当前时间,浏览器就会认为证书无效。

可以使用OpenSSL检查:

openssl s_client -connect www.example.com:443 -servername www.example.com 2>/dev/null | openssl x509 -noout -dates

返回结果类似:

notBefore=Aug 01 00:00:00 2026 GMT
notAfter=Oct 30 23:59:59 2026 GMT

重点查看 notAfter,确认当前证书是否已经到期。

如果已经过期,需要重新申请或续期证书,并将新证书部署到服务器


3. 证书域名与访问域名不一致

这是非常常见的证书错误。

例如证书只包含:

www.example.com

但用户访问:

example.com

如果 example.com 没有出现在证书的SAN(Subject Alternative Name)中,就会发生域名不匹配。

同样需要注意通配符证书的匹配范围。

例如:

*.example.com

可以匹配:

www.example.com
api.example.com
mail.example.com

但不能匹配:

example.com
a.b.example.com

因此申请证书时,需要确认实际使用的域名是否都包含在证书中。


4. 服务器没有正确安装中间证书

有些情况下,服务器证书本身没有问题,但服务器只发送了站点证书,没有发送完整的中间证书链。

客户端收到证书后无法构建完整的信任链,就可能出现:

  • 证书不受信任
  • ERR_CERT_AUTHORITY_INVALID
  • unable to verify the first certificate
  • 证书链不完整

等错误。

可以使用OpenSSL查看服务器实际发送的证书:

openssl s_client -connect www.example.com:443 \
-servername www.example.com \
-showcerts

如果使用Nginx,ssl_certificate一般应该配置包含服务器证书 + 中间证书的完整证书链文件,而私钥单独配置:

ssl_certificate /etc/nginx/ssl/fullchain.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;

证书链的顺序也不能弄反。


5. 网页存在混合内容

如果网页本身通过HTTPS加载,但页面中仍然引用:

http://example.com/image.jpg
http://example.com/style.css
http://example.com/script.js

就可能产生混合内容(Mixed Content)。

尤其是JavaScript、iframe等主动内容,现代浏览器可能直接阻止加载。

排查方法很简单:

  1. 打开网站;
  2. F12
  3. 打开 ​Console​;
  4. 搜索 Mixed Content
  5. 找到仍然使用HTTP的资源。

将这些资源改成:

https://example.com/...

或者使用站内相对路径。

如果网站资源本身已经支持HTTPS,也可以考虑:

Content-Security-Policy: upgrade-insecure-requests

但这只是辅助措施,不能替代对HTTP资源的实际检查。


6. TLS协议或加密套件配置过旧

如果证书有效、域名也正确,但浏览器仍无法建立HTTPS连接,还需要检查服务器的TLS配置。

对于目前的公网网站,一般建议至少支持:

TLS 1.2
TLS 1.3

同时关闭已经废弃或不建议继续使用的旧协议,例如SSLv3、TLS 1.0和TLS 1.1。

Nginx示例:

ssl_protocols TLSv1.2 TLSv1.3;

需要注意的是,​TLS协议问题与SSL证书本身是两个不同层面的问题​。

证书有效,并不代表服务器TLS配置一定正确。


怎么快速判断到底是哪一个问题?

不要一看到“连接不安全”就重新申请证书。

可以按照下面的顺序检查:

排查项目重点检查内容
访问协议是否使用HTTPS
证书有效期notAfter是否已经过期
域名当前访问域名是否存在于SAN
证书链是否部署完整中间证书
私钥证书与私钥是否匹配
页面资源是否存在HTTP混合内容
TLS协议是否支持TLS 1.2/1.3
SNI多站点服务器是否返回了正确证书

如果是Linux服务器,还可以直接使用:

openssl s_client -connect www.example.com:443 \
-servername www.example.com \
-showcerts

这个命令可以帮助检查服务器实际返回的证书和TLS连接情况。


浏览器已经显示HTTPS,为什么还是“不安全”?

这种情况尤其容易误判。

HTTPS ≠ 证书一定正确。

HTTPS只是表示浏览器正在尝试通过TLS建立加密连接。最终是否被浏览器信任,还取决于:

  • 证书是否在有效期内;
  • 域名是否匹配;
  • 签发CA是否受信;
  • 证书链是否完整;
  • 签名算法和密钥参数是否符合客户端要求;
  • TLS连接是否能够正常建立。

所以排查时不要只看地址栏有没有 https://,应该进一步查看浏览器显示的具体证书错误。


如何检查SSL证书是否安装正确?

可以使用SSL Server Test等工具对公网服务器进行检测,也可以直接使用OpenSSL检查。

如果只是想快速确认网站证书,可以先执行:

openssl s_client -connect www.example.com:443 -servername www.example.com

如果需要进一步判断证书域名、有效期和证书链,可以查看:

openssl s_client -connect www.example.com:443 \
-servername www.example.com \
-showcerts

对于生产环境,建议同时检查服务器配置和浏览器实际访问结果,而不是只看服务器上的证书文件。


常见问题 FAQ

Q:SSL证书安装成功了,为什么浏览器还是提示不安全?

A: 优先检查证书是否过期、访问域名是否包含在SAN中,以及服务器是否正确部署了中间证书。如果这些都正常,再检查页面是否存在HTTP混合内容。

Q:SSL证书过期后需要重新申请吗?

A: 可以根据CA和证书产品的续期机制进行续期或重新签发。重新签发时应确认新的证书与服务器上的私钥和CSR对应。

Q:有HTTPS就一定安全吗?

A: 不一定。HTTPS负责建立TLS加密连接,但证书配置、TLS版本、证书链和网站自身的安全配置仍然需要正确设置。

Q:怎么最快判断SSL证书到底哪里出了问题?

A: 先看浏览器具体错误代码,再使用 openssl s_client 检查服务器实际返回的证书和证书链。不要仅根据“连接不安全”这几个字判断故障原因。

立即探索,帮您快速寻找适合您的SSL数字证书 申请SSL证书
免费SSL证书 - SSL证书申请与HTTPS加密平台 | TopSSL
提供免费与付费SSL证书申请
关注 TopSSL 公众号, RSS订阅SSL资讯与技术支持

2004-2026 © 北京传诚信  版权所有 | TopSSL 提供免费SSL证书申请、HTTPS加密部署及企业级SSL证书服务,支持网站安全连接、数字证书安装与浏览器信任验证。  北京市朝阳区鹏景阁大厦16层

技术协助:wo@topssl.cn 企业咨询:vip@topssl.cn