0

我有两个码头实例。第一个 Jetty 实例有一个外部端口。所有请求都来自第一个 Jetty 实例。一些请求需要重定向到第二个 Jetty 实例。该证书将在第二个码头进行验证。

使用码头 (9) 的最佳方法是什么?

先感谢您。

4

1 回答 1

1

在代理场景中,第一台服务器将在向代理服务器发出请求之前协商所有 SSL/TLS 层。

一旦成功协商 SSL/TLS 层,就没有选项可以执行客户端证书验证,因为这只发生在 SSL/TLS 层期间。

简而言之,一旦您的用户代理(客户端/浏览器)可以开始发出请求,那么客户端证书验证就为时已晚。

至于访问javax.servlet.request.X509Certificate,将需要您使用的任何代理将适当的转发标头包含到第二台服务器。

如果第二个服务器是 Jetty,那么该服务器将需要ForwardedRequestCustomerizer从请求中提取转发标头,然后插入到请求属性中。

于 2020-05-28T15:11:32.213 回答