• 轻功水上漂

    今天心血来潮去ssllabs检测了下,结果是这样:This site works only in browsers with SNI support
    这是啥情况?

    主楼
  • yousihai

    ssl在最早情况下只能一个ip对应一个证书(或泛域名证书可以用于多个站点),但由于这样ip和域名几乎都快变成一对一了实在是没法用,于是后来增加了SNI这个扩展,可以在传递证书之前就告诉服务器想要访问的域名,服务端就可以给出相应的证书了,这样一个ip就可以用于无限多的域名了。
    条件是请求的客户端需要支持SNI,否则服务端依然不知道应该给客户端发什么证书,这就是你这个警告的来历了。不过不需要担心的是这个SNI标准已经提出很多很多年了,现在除了xp这样的老古董外已经几乎找不到不支持sni的客户端了
    PS:由于SNI的传递在证书之前,因此SNI是不加密的,这就是墙可以拦截https域名的原理

    #1
  • 轻功水上漂

    yousihai 发表于 2025-4-9 12:37
    ssl在最早情况下只能一个ip对应一个证书(或泛域名证书可以用于多个站点),但由于这样ip和域名几乎都快变 ...
    好多网站没这个警告啊,我的网站怎么有啊,这个怎么修复?

    #2
  • yousihai

    只是想要解决这个的话很简单,例如如果你是用nginx的话,就设置一个https域名为默认站点即可

    #3
  • 轻功水上漂

    yousihai 发表于 2025-4-9 13:46
    只是想要解决这个的话很简单,例如如果你是用nginx的话,就设置一个https域名为默认站点即可 ...
    我的就是这么设置的

    #4
  • yousihai

    默认站点不能为空, 默认站点必须为https站点,不能只是http站点,默认站点需要和你测试用的域名一致

    #5

发表回复

登录后回复