2

请注意,我的问题不是关于测试 ssl/tls 安全的 http 链接,也不是关于让 Webdriver 接受某些证书。

我的问题是关于如何使 selenium 独立服务器的嵌入式 Jetty 提供安全的 https 连接。

在 3.4.0 的源代码中,我可以看到这一部分:

HttpConfiguration httpConfig = new HttpConfiguration();
httpConfig.setSecureScheme("https");
httpConfig.setSecurePort(config.port);
log.info("Will listen on " + config.port);
ServerConnector http = new ServerConnector(server, new HttpConnectionFactory(httpConfig));
http.setPort(config.port);
server.addConnector(http);

从日志中我可以看到此代码已到达,但连接不安全(应该如何,甚至没有涉及证书):

10:57:00.023 INFO - Selenium build info: version: '3.4.0', revision: 'unknown'
10:57:00.024 INFO - Launching Selenium Grid hub
2017-05-09 10:57:01.707:INFO::main: Logging initialized @2044ms to org.seleniumhq.jetty9.util.log.StdErrLog
10:57:01.721 INFO - Will listen on 4444
2017-05-09 10:57:01.800:INFO:osjs.Server:main: jetty-9.4.3.v20170317
2017-05-09 10:57:01.851:INFO:osjs.session:main: DefaultSessionIdManager workerName=node0

由于公司安全治理,我们被迫提供安全的所有服务。这意味着我至少需要保护 selenium 网格的集线器,节点也将是完美的。我知道我可以做一些隧道、代理或 ipsec,但如果可能的话,我想避免这种复杂性。

我什至尝试过如果 Jetty 以某种方式“自动”知道在使用 ssl 时做出相应的响应,但正如预期的那样,这会失败: 由于缺少 ssl/tls 支持而导致 curl 失败

4

0 回答 0