Tengine-Ingress
支持证书端口映射,通过不同的TLS端口与根域名的映射关系,动态匹配对应证书。
Configmap配置custom-port-domain
Syntax: custom-port-domain
443: aaa.com, 2443: bbb.com, 3443: ccc.com
;
Default:
设置证书端口映射表,通过不同的TLS端口与根域名的映射关系,动态匹配对应证书。
当客户端TLS建链Client Hello请求不携带SNI,Tengine-Ingress通过端口匹配对应的证书用于TLS握手。
示例
custom-port-domain: '443: a.com, 4431: b.com, 4432: c.com' |
- 通过在Configmap中增加配置custom-port-domain,
Tengine-Ingress
基于template配置模板,动态生成下述tengine配置文件:## start server _
server {
server_name _ ;
listen 80 default_server reuseport backlog=65535 ;
listen [::]:80 default_server reuseport backlog=65535 ;
listen 443 default_server reuseport backlog=65535 ssl http2 https_allow_http ;
listen [::]:443 default_server reuseport backlog=65535 ssl http2 https_allow_http ;
listen 4431 default_server reuseport backlog=65535 ssl http2 https_allow_http ;
listen [::]:4432 default_server reuseport backlog=65535 ssl http2 https_allow_http ;
listen 4432 default_server reuseport backlog=65535 ssl http2 https_allow_http ;
listen [::]:4438 default_server reuseport backlog=65535 ssl http2 https_allow_http ;
... ...
}
证书1
: 加签域名包含根域名a.com
CN: [ |
- 在客户端向
Tengine-Ingress
服务端口443建链请求,如果客户端Client Hello未携带SNI,则Tengine-Ingress
默认使用证书1
完成TLS握手
证书2
: 加签域名包含根域名b.com
CN: [ |
- 在客户端向
Tengine-Ingress
服务端口4432建链请求,如果客户端Client Hello未携带SNI,则Tengine-Ingress
默认使用证书2
完成TLS握手
证书3
: 加签域名包含根域名c.com
CN: [ |
- 在客户端向
Tengine-Ingress
服务端口4432建链请求,如果客户端Client Hello未携带SNI,则Tengine-Ingress
默认使用证书3
完成TLS握手