我有一个在远程服务器上运行的 Spring Boot 应用程序。当我构建它以通过 HTTP 工作时,一切正常。但是,当我尝试设置 SSL 时,应用程序无法正常工作。它不会抛出错误或任何东西。但是我无法访问浏览器中的任何页面(我已经尝试过 https://www.example.com 、 https://www.example.com:8443 、 https://example.com 等)。
我已经从 certificate.crt(我在 ssl 上为我的域购买)在远程服务器机器上构建了 keystore.jks。
我有以下 application.properties:
server.port=8443
server.ssl.key-store=classpath:keystore.jks
server.ssl.key-store-password=密码
server.ssl.key-password=密码
我尝试了不同的配置但没有结果。当我尝试在我的本地机器上运行它时,同样的故事发生了(我认为这是因为当证书是 example.com 时我要去本地主机,但也许这是同样的问题)。
这是服务器输出:
INFO 11041 --- [ main] o.e.jetty.util.ssl.SslContextFactory : x509=X509@2a492f2a(jetty,h=[www.example.com, example.com],w=[]) for >SslContextFactory@3277e499(jar:file:/root/application.jar!/BOOT->INF/classes!/keystore.jks,null)
2018-05-13 13:21:56.175 INFO 11041 --- [ main] >o.e.jetty.server.AbstractConnector : Started >ServerConnector@7ac2e39b{SSL,[ssl, http/1.1]}{0.0.0.0:8443}
2018-05-13 13:21:56.176 INFO 11041 --- [ main] >.s.b.c.e.j.JettyEmbeddedServletContainer : Jetty started on port(s) 8443 (ssl, http/1.1)
2018-05-13 13:21:56.179 INFO 11041 --- [ main] >c.b.product.BootApplication : Started BootApplication in 4.786 seconds (JVM running for 5.151)
所以一切似乎都很好,但它不起作用。
最佳答案
问题解决了。只是错误地生成了 keystore.jks。
关于Spring Boot Jetty 服务器无法通过 https (SSL) 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50315747/