我有一个基于 Vertx (3.9.x) 的 HTTP 服务器,我需要在其中满足两组请求路径。第一个路径总是需要客户端证书 ( ClientAuth.REQUIRED
) 和另一个客户端证书是可选的 (ClientAuth.REQUEST
或ClientAuth.NONE
)。
正如我所看到的,只有ClientAuth
可以设置的地方是HttpServerOptions
,并且它绑定到特定端口,示例代码片段如下:
final HttpServerOptions options = new HttpServerOptions()
.setPort(443)
.setClientAuth(ClientAuth.REQUIRED) // One option per listening port.
// Set all other server options
路由器配置有点像下面:
final Router router = Router.router(vertx);
router.route("/required-client-cert/").handler(this::handleMutualAuth);
router.route("/no-need-client-cert/").handler(this::handleRegularAuth);
// Any one of the above routes can work anytime, because ClientAuth is configured in server options.
是否可以在单个 Vertx 应用程序中处理这个问题?如果是,如何?
在侦听单端口时有什么选择吗?
谢谢。