Jhipster 上的 ERR_SSL_VERSION_OR_CIPHER_MISMATCH

Posted

技术标签:

【中文标题】Jhipster 上的 ERR_SSL_VERSION_OR_CIPHER_MISMATCH【英文标题】:ERR_SSL_VERSION_OR_CIPHER_MISMATCH on Jhipster 【发布时间】:2020-01-27 16:51:46 【问题描述】:

我正在使用 Jhipster 部署我的第一个应用程序。 首先,我在 8080 端口上启动了具有标准 HTTP 支持的应用程序,并且一切正常。 现在我想升级到 HTTPS,但到目前为止,我还没有深入了解它。

我将应用程序打包为 JAR,并将其部署在带有 jdk 1.8 的 Ubuntu 服务器 18.04 上。我按照 Jhipster 提供的文档在此链接 (https://maximilian-boehm.com/hp2121/Create-a-Java-Keystore-JKS-from-Let-s-Encrypt-Certificates.htm) 上生成让我们加密;我测试了使用https://ssllabs.com 生产的 jks,我得到了 A 的总体评价。

这是我的 application-prod.yml 的一部分:

server:
    port: 10443
    ssl:
        enabled: true
        key-store: keystore.jks
        key-store-password: mypassword
        keyStoreType: PKCS12
        key-alias: selfsigned
        ciphers: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
        enabled-protocols: TLSv1.2

当我启动 jar 时,应用程序正常启动, 但是当我尝试连接到主页时,

我回来了“ERR_SSL_VERSION_OR_CIPHER_MISMATCH”

我尝试更改密码,但它不起作用。

谢谢

【问题讨论】:

嗨,您认为最好使用代理 【参考方案1】:

通常,问题在于您使用的是较低版本的 Jhipster,但使用的是较高版本的 ssl 属性,反之亦然。

检查密钥库属性中提供的路径是否与文件路径匹配。 然后检查您使用的 SSL 属性是否与您的版本相匹配。我正在使用 Jhipster 3.0.7 版和 Spring 5.1.11 版。
ssl:  
    key-store: classpath:config/tls/keystore.p12
    key-store-password: ****
    key-store-type: pkcs12
    key-alias : yourAlias
    ciphers: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
    enabled-protocols: TLSv1.2

最新版本的 Jhipster 使用:
ssl:
    key-store: keystore.p12
    key-store-password: <your-password>
    keyStoreType: PKCS12
    keyAlias: <your-application>
    ciphers: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
    enabled-protocols: TLSv1.2
假设您的 SSL 配置正确,请重新检查您用于创建密钥的过程。如果您使用 OPENSSL 创建 .key 和 .csr 文件证书颁发机构并从它们那里获得 .crt 文件。然后使用以下命令创建 PKCS 文件。 需要注意的一点是在创建文件时不会询问别名,因此您不应在 SSL 配置中提供它。
openssl pkcs12 --export -out keystore.p12 -inkey <key-name>.key -in <cert-name>.crt

【讨论】:

以上是关于Jhipster 上的 ERR_SSL_VERSION_OR_CIPHER_MISMATCH的主要内容,如果未能解决你的问题,请参考以下文章

Windows上的Jhipster uml安装问题:msbuild.exe上的NPM失败,退出代码为1

Jhipster 上的 ERR_SSL_VERSION_OR_CIPHER_MISMATCH

jHipster 实体中的 i18n

Windows 上的 Jhipster uml 安装问题:NPM 在 msbuild.exe 上失败,退出代码为 1

无法安装 jhipster-generator

更新 JHipster 生成器后如何更新 JHipster 项目?