到目前为止,我已经设置了一个运行良好的 Spring Framework 5 项目。需要为某些功能启用 HTTPS,因此请遵循教程。当前使用以下命令在服务器上生成了证书和密钥:keytool -genkeypair -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 365000然后,我将此密钥库导入到我的资源文件夹中并使用了以下属性:server.ssl.key-store= classpath:keystore.p12server.ssl.key-store-password= myPasswordserver.ssl.key-store-type= PKCS12server.ssl.key-alias= tomcatserver.port= 8444我还使用以下配置设置了从 HTTP 到 HTTPS 的重定向:@Beanpublic ServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() { @Override protected void postProcessContext(Context context) { SecurityConstraint securityConstraint = new SecurityConstraint(); securityConstraint.setUserConstraint("CONFIDENTIAL"); SecurityCollection collection = new SecurityCollection(); collection.addPattern("/*"); securityConstraint.addCollection(collection); context.addConstraint(securityConstraint); } }; tomcat.addAdditionalTomcatConnectors(redirectConnector()); return tomcat;}private Connector redirectConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setScheme("http"); connector.setPort(8182); connector.setSecure(false); connector.setRedirectPort(8444); return connector;}当从我的 IDE 本地运行或通过运行编译的 .jar 时,它工作正常。但是,当我尝试在我的服务器(以前运行良好的本地运行 Synology NAS)上运行它时,我在尝试访问地址 ( https://192.168.10.10:8444) 时出现错误,在 Firefox:SSL_ERROR_NO_CYPHER_OVERLAP 和 chrome上出现以下错误 ERR_SSL_VERSION_OR_CIPHER_MISMATCH。我一直在寻找答案,但我没有找到任何改变这个问题结果的解决方案。
2 回答
白衣非少年
TA贡献1155条经验 获得超0个赞
老问题,但我有同样的问题。Synology Station 使用旧版 JDK (1.8.0_161)。更新到最新的 1.8 (1.8.0_202-b08) 后一切正常。
添加回答
举报
0/150
提交
取消