发表于:2024-10-28 10:44:24 •需求池 95
1、在飞牛上面配置了,ddns 域名如下: fn.com ,ssl 证书腾讯申请后显示支持 fn.com/www.fn.com。
2、 随后通过https://www.fn.com + ipv6去访问飞牛,网页报错.
3、 去掉 ssl 加密,切换至http://www.fn.com 正常。
4、随后 curl -I https://www.fn.com , curl 返回 ssl format error。于是再次申请证书,再次访问失败
然后我就懵逼了,群里求助。群友表示都正常。于是不信邪的我,晚上回家就ssh 上去。因为之前 ssh 看过,下意识以为飞牛就是生成一个 我们配置的 host 的 ngx config。
登录服务查询,飞牛并未配置任何 host。检查 ngx error log,并未发现错误。然后关闭所有访问飞牛的终端,因为发现终端只要连接上,就会一直有 websocket 日志。
再次访问飞牛,在 access.log 发现一条 status code 200 的 请求,body 加密了。
瞬间再次懵逼,怀疑 ipv 6 问题,就在加中强制 host 并改为 ipv4 访问。但是依旧失败,看 access log 依旧是 200 ,body 加密。
最后不得拿出最后的工具,tcpdump,一抓包发现三次握手成功。并且客服端发起交互 https 加密信息的请求, Client Hello。 但是服务端发现服务端返回一个 http 的 400 status code。body 为 ngx 的 bad gateway。 下意识以为我抓包姿势不对,检查了一下 tcp stream id 。发现的确是这个的 包。这会在去检查 ddns 配置,发现我未配置 www.fn.com 。配置上就成功了。
------------------------
建议能否这种 host 报错提供一个通用的信息供排查,例如 host not found 之类。 这种什么都不返回,很难排查错误。
|
|