Tengine 中我们chrome用--origin-to-force-quic可以成功用h3 但是去掉这个参数协商失败,也是因为证书问题吗? 我想问一下xquic_ssl_certificate跟ssl_certificate的差别是啥 xquic这个证书我直接配置域名的证书吗?
是的 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 开源交流群。
根据官方文档的说明,“--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 参数即可。
在Tengine中,您提到使用--origin-to-force-quic
参数可以成功启用h3,但是去掉这个参数后协商失败。这种情况可能与证书问题有关,但也有可能是其他原因导致的。
关于xquic_ssl_certificate
和ssl_certificate
的区别在于它们所适用的协议。ssl_certificate
用于传统的HTTPS连接,而xquic_ssl_certificate
则用于基于QUIC协议的HTTPS连接。QUIC是一种基于UDP的低延迟传输协议,旨在替代传统的TCP协议,提供更快的数据传输速度和更低的延迟 。
如果您想配置QUIC证书,您需要使用xquic_ssl_certificate
指令来指定相应的证书文件。这通常是一个与您的域名匹配的证书文件,因为QUIC协议使用的是TLS加密,需要有效的证书来建立安全连接。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。