1
SingeeKing PRO 加一下 GODEBUG=tlsrsakex=1 环境变量试试,因为新版本 Go 老的加密算法默认禁用
|
2
soleils OP 心态炸裂了
|
3
v1 3 月 24 日
apiVersion: gateway.envoyproxy.io/v1alpha1
kind: EnvoyProxy metadata: name: eg-proxy-config namespace: default spec: tls: minVersion: "1.0" maxVersion: "1.3" ciphers: # 要显式包含 TLS1.0 的加密套件 - ECDHE-ECDSA-AES128-SHA - ECDHE-RSA-AES128-SHA - AES128-SHA - ECDHE-ECDSA-AES256-SHA - ECDHE-RSA-AES256-SHA - AES256-SHA - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 ----- apiVersion: gateway.networking.k8s.io/v1 kind: Gateway metadata: name: eg namespace: default spec: gatewayClassName: eg envoyProxy: name: eg-proxy-config # 必须引用才可生效 listeners: - name: https port: 443 protocol: HTTPS tls: mode: Terminate certificateRefs: - kind: Secret name: example-cert |
4
soleils OP @v1 apiVersion: gateway.envoyproxy.io/v1alpha1
kind: ClientTrafficPolicy metadata: name: legacy-http10-temp namespace: envoy-gateway-system spec: targetRefs: - group: gateway.networking.k8s.io kind: Gateway name: my-gateway sectionName: https-cn - group: gateway.networking.k8s.io kind: Gateway name: my-gateway sectionName: https-com http1: http10: {} tls: minVersion: "1.0" maxVersion: "1.3" alpnProtocols: - h2 - http/1.1 - http/1.0 ciphers: - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-SHA - ECDHE-RSA-AES256-SHA - AES128-SHA - AES256-SHA 我也是这样配置的, 但我用的是 kind: ClientTrafficPolicy , 你用的是 kind: EnvoyProxy, 是这个关键区别吗? |
5
pckillers 3 月 24 日
我比较惊奇于用户竟然能直接连接到 k8s 的网关。 k8s 之前已经没有 waf 之类的 7 层网关了? 如果有的话 TLS 与 cipher 就是 waf 决定的了。
|
6
soleils OP @pckillers 这个问题是有些客户会配置域名+host 绑定, 还会给域名和 IP 开白名单, 因为腾讯云 waf 的 vip 不保证不变, 他们说 5 月底会出一个不变 IP 的 waf vip, 但我们等不了那么久了, 所以这次没有上 waf, 只用了云防火墙
|
7
soleils OP 我废了老鼻子劲终于搞懂了, 这次的兼容性问题是一些老客户端不会自动带上 SNI, 我们又有多个证书, 导致了连接被重置.
上面的设置是可以让 envoy-gateway 支持 TLS1.0 1.1 的, 原因不是设置问题 实际兼容性原因: 1, 有些客户端需要手动指定 SNI (一个 IP 多个证书) 2, 如果用了 TLS1.0 , 1.1 , 最好加上-cipher "AES256-SHA:@SECLEVEL=0" |