是否有一种方法来运行一个Spring Boot应用程序(可运行的war),以便它监听两个端口--一个带有SSL,一个不带有SSL。我使用的是嵌入式Tomcat8。
SSL当前正在使用
@Bean
@Profile('tls')
EmbeddedServletContainerCustomizer servletContainerCustomizer ()
throws Exception {
new EmbeddedServletContainerCustomizer () {
@Override
public void customize (ConfigurableEmbeddedServletContainer container) {
TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container
tomcat.addConnectorCustomizers (
new TomcatConnectorCustomizer () {
@Override
public void customize (Connector connector) {
connector.setPort (Integer.parseInt (retrieveRequiredSpringProperty ('ssl.connection.port')))
connector.setSecure (true)
connector.setScheme ('https')
connector.setProtocol (retrieveSpringPropertyOrSpecified ('ssl.connection.protocol', 'HTTP/1.1'))
Http11NioProtocol proto = (Http11NioProtocol) connector.getProtocolHandler ()
proto.setSSLEnabled (true)
proto.setKeystoreFile (retrieveRequiredSpringProperty ('ssl.protocol.keystore.file'))
proto.setKeystorePass (retrieveRequiredSpringProperty ('ssl.protocol.keystore.password'))
proto.setKeyPass (retrieveSpringPropertyOrSpecified ('ssl.protocol.keystore.cert.password', null))
proto.setKeystoreType ('JKS')
proto.setKeyAlias (retrieveRequiredSpringProperty ('ssl.protocol.keystore.cert.name'))
proto.setSslProtocol ('TLS')
proto.setClientAuth ('false')
}
}
)
}
}
}
任何建议都欢迎一如既往!
TomcatConnectorCustomizer
只修改现有的Connector
(名称中的提示)。要添加其他连接器,您只需要一个不同的API(这里的示例),例如(从示例中复制):
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
tomcat.addAdditionalTomcatConnectors(createConnector());
return tomcat;
}
我的建筑。Gradle:
问题内容: 有什么方法可以向正在运行的嵌入式Jetty实例添加处理程序?我们已经将一个旧的基于Jetty 6的项目迁移到了Jetty 9,我们需要为我们的插件系统动态添加和删除处理程序… 请参阅下面的示例… 注意:是… 问题答案: 使用Jetty 9.1.0.v20131115,您可以在构造函数上使用标志… 在和调用期间,这将忽略对集合本身的测试。 此行为仅适用于自身,您可以添加单个处理程序,也可
我有时会在pom中看到以下声明。xml。。。 如您所见,sping-boo-starter-web被声明为tomcat-embed-jasper。 是不是sping-boo-starter-web已经有一个嵌入式tomcat了?为什么一些开发人员仍然声明tomcat-embed-jasper以及boot-starter-web?还是有什么原因?
不幸的是,Twilio文档不够清晰,我无法回答我的问题,所以我在这里。 当我的应用程序在前台/后台运行时,当用户调用时,我能够接收Twilio传入连接,并且我能够正确地处理这一点(在应用程序中显示弹出窗口,或者如果应用程序在后台,则发送本地通知)。 有没有什么办法在app根本不运行的情况下实现Twilio来电呢?我想知道这种情况是否可能: 用户A:关闭已实现Twilio调用的应用程序 用户B:通过
Spring Boot有一个方便的特性,如果您配置maven插件,它会将init.d starup脚本嵌入到可执行jar中:http://docs.Spring.io/spring-boot/docs/current/reference/html/deployment-install.html#deployment-install 因此,我正在使用上述方法在CentOS6.6中“安装”一个Spri