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