以上配置内容主要有几点需实现:upstream
各自的健康检查参数需要和全局的进行区分fail_timeout失败的重试时间
以下是各upstream的定义
关于多个端口监听,开始时我们会遍历所有的端口,且只会绑定一次
同一个端口多个证书的问题因为客户端发送ClientHello的时候我们可以知道是从哪个域名过来的,所以我们可以根据发过来的域名选择正确的证书,就可以解决多个证书的问题,在rustls中,我们用ResolvesServerCertUsingSni来进行解决,下面相关源码
子级需要能访问父级的配置问题
在Rust因为所有权的问题,一个对象肯定会归属于一个地方的所有权,所以无法在不经常加工的情况实现类似其它语言的parent->getChild()及child->getParent(),而此处比如location需要共享server的数据,如root参数。目前查资料比较公认的有以下方式:
用指针的方向(raw pointer),但是指针无法Send,也就是无法在线程间转移。
location的多种结构支持location可能是静态文件服务器,也可能是反向代理,也可能是后续的fast-cgi等。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |