java - 浏览器或 Docker 无法访问使用 SSL 的 Nexus Repository Manager 3

标签 java ssl jetty nexus sonatype

我不是 Java 专家,但我们将 Nexus 用于我们的 NPM 和 Nuget 程序包,并想开始使用它来托管 Docker 镜像,但我似乎无法使用他们的指南使 SSL 工作。我使用的是 3.14 版本

我已经生成了 keystore 并验证了它可以使用:

keytool -printcert -sslserver localhost:8444 -v

我的 nexus.properties 文件包含

ssl.etc=${karaf.data}/etc/ssl
application-port-ssl=8444
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml,${jetty.etc}/jetty-https.xml

我已经尝试更新 local_policy.jar 和 US_export_policy.jar,尝试更新 JRE,但我还是得到了

当我尝试使用浏览器或 Docker 尝试登录时 TLS 握手失败时,来自 chrome 的 ERR_SSL_VERSION_OR_CIPHER_MISMATCH。

最佳答案

由于您要生成 keystore ,请确保您使用以下一般建议。

  • 使用 AES 或 RSA(不是 DSA 或 DES)作为您的 key 算法
  • 使用 2048 位(或更大。选择 4096)
  • 使用强签名算法,例如 SHA256 或 SHA512(不是 SHA、SHA1、MD5)
  • Keystore 类型应该是 PKCS12 或 JKS(对于 Java KeyStore)

如果您使用 DSA 或 DES,您将无法连接。 如果您使用太低的位大小,您将无法连接。 如果你使用了糟糕的签名算法,你将无法连接。

参见 https://www.eclipse.org/jetty/documentation/current/configuring-ssl.html有关使用 keytoolopenssl 生成 keystore 的示例。

关于java - 浏览器或 Docker 无法访问使用 SSL 的 Nexus Repository Manager 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53183851/

相关文章:

java - 井字棋游戏错误

ajax - 可以使 XDomainRequest 与 SSL 一起使用吗?

java - WebSphere Liberty——从 Java 连接到安全网关

ssl - 连接到 Synology 时 Nginx Stream SSL 错误 500

java - 重新加载修改类时如何让jetty阻止请求?

java - 空 HttpServletRequest

java - 优化服务器端实验跟踪事件

用于 ImageJ 的 Java。如何使用代码将图像从 RGB 转换为 8 位?

servlets - 使用嵌入式 Jetty 在 WAR 之外提供静态内容

java - 将滚动内容放入组中