开发者社区 > 云原生 > 中间件 > 正文

Tengine 中去掉这个参数协商失败,也是因为证书问题吗?

Tengine 中我们chrome用--origin-to-force-quic可以成功用h3 但是去掉这个参数协商失败,也是因为证书问题吗? 我想问一下xquic_ssl_certificate跟ssl_certificate的差别是啥 xquic这个证书我直接配置域名的证书吗?

展开
收起
小小鹿鹿鹿 2023-11-20 22:35:43 56 0
3 条回答
写回答
取消 提交回答
  • 是的 xquic直接封装了对ssl lib的调用实现,不再依赖原tengine的ssl指令,
    因此,h3的证书和私钥需要通过 xquic指令定义
    证书内容和私钥可以保持与原h1/h2相同。包括h3相关的tls变量也是单独定义的
    https://github.com/alibaba/tengine/blob/master/modules/ngx_http_xquic_module/ngx_http_xquic_module.c

    $xquic
    $xquic_connection_id
    $xquic_stream_id
    $xquic_ssl_protocol
    $xquic_ssl_cipher
    $xquic_ssl_session_reused此回答来自钉群Tengine 开源交流群。

    2023-11-22 08:19:00
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    根据官方文档的说明,“--origin-to-force-quic”参数可以强制 HTTP/2 和 QUIC 连接的启用,而不会导致连接失败。如果去掉这个参数,可能会出现与 Chrome 浏览器之间的连接协商失败的情况。
    而关于 xquic_ssl_certificate 和 ssl_certificate 参数的差异,其中 xquic_ssl_certificate 是针对 XQUIC 代理模块所使用的 SSL 证书,而 ssl_certificate 则是针对 HTTPS 代理模块所使用的 SSL 证书。因此,如果您需要使用 QUIC 协议,请使用 xquic_ssl_certificate 参数配置您的证书。同时,您需要配置 XQUIC 代理模块的参数,例如 xquic_host_name 等。如果您不打算使用 QUIC 协议,可以只配置 ssl_certificate 参数即可。

    2023-11-21 23:23:40
    赞同 展开评论 打赏
  • 在Tengine中,您提到使用--origin-to-force-quic参数可以成功启用h3,但是去掉这个参数后协商失败。这种情况可能与证书问题有关,但也有可能是其他原因导致的。

    关于xquic_ssl_certificatessl_certificate的区别在于它们所适用的协议。ssl_certificate用于传统的HTTPS连接,而xquic_ssl_certificate则用于基于QUIC协议的HTTPS连接。QUIC是一种基于UDP的低延迟传输协议,旨在替代传统的TCP协议,提供更快的数据传输速度和更低的延迟 。

    如果您想配置QUIC证书,您需要使用xquic_ssl_certificate指令来指定相应的证书文件。这通常是一个与您的域名匹配的证书文件,因为QUIC协议使用的是TLS加密,需要有效的证书来建立安全连接。

    2023-11-21 16:23:18
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
阿里七层流量入口Tengine硬件加速探索之路 立即下载
阿里Tengine直播最佳实践 立即下载
阿里Tengine网关最佳实践 立即下载