我们最近从使用独立的Tomcat 8容器变为使用嵌入式Tomcat 8容器。我们在使用嵌入式容器的Grails 3.1.6上运行SSL时遇到了一些麻烦。我们一直使用APR Native Libraries和独立容器的certificateFile方法。我们希望使用嵌入式Tomcat保持这种方法,而不是改变为密钥存储方法。我尝试了Grails文档,深入Spring Boot嵌入式容器文档,但尚未找到工作解决方案。如何在Grails 3.1.6+中配置SSL?
我在application.yml中尝试了许多不同的配置方法。根据几种不同的碎片文件,源等我最新的尝试是:
environments:
test:
grails:
server:
port: 8443
ssl:
enabled: true
certificateKeyFile: '/usr/share/app/my_domain_net.key'
certificateFile: '/usr/share/app/my_domain_net.crt'
certificateChainFile: '/usr/share/app/myCA.crt'
serverURL: "https://test.mydomain.net:8443"
tomcat:
port: 8443
ssl:
enabled: true
certificateKeyFile: '/usr/share/app/my_domain_net.key'
certificateFile: '/usr/share/app/my_domain_net.crt'
certificateChainFile: '/usr/share/app/myCA.crt'
我也尝试添加该到application.yml结束:
server:
port: 8443
ssl:
enabled: true
certificateKeyFile: '/usr/share/app/my_domain_net.key'
certificateFile: '/usr/share/app/my_domain_net.crt'
certificateChainFile: '/usr/share/app/myCA.crt'
但是这给了我一个'资源位置可能不为空'错误。我看到的大多数例子和问题在这一点上都相当过时。有时间在stackoverflow上提出一个新问题。提前致谢!
添加以来编辑“评论必须大于6字符。 'key-store','keystore-password'和'key-password'属性必须缩进属于'ssl'部分。花了好几个小时试图弄清楚这一点。 – CoconutBandit