Update 64.7. Enable Multiple Connectors with Tomcat.md
parent
25f95d9e48
commit
dd4daf11a5
|
@ -0,0 +1,35 @@
|
||||||
|
### 64.7. 启用Tomcat的多连接器(Multiple Connectors)
|
||||||
|
|
||||||
|
你可以将一个`org.apache.catalina.connector.Connector`添加到`TomcatEmbeddedServletContainerFactory`,这就能够允许多连接器,比如HTTP和HTTPS连接器:
|
||||||
|
```java
|
||||||
|
@Bean
|
||||||
|
public EmbeddedServletContainerFactory servletContainer() {
|
||||||
|
TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
|
||||||
|
tomcat.addAdditionalTomcatConnectors(createSslConnector());
|
||||||
|
return tomcat;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Connector createSslConnector() {
|
||||||
|
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
|
||||||
|
Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler();
|
||||||
|
try {
|
||||||
|
File keystore = new ClassPathResource("keystore").getFile();
|
||||||
|
File truststore = new ClassPathResource("keystore").getFile();
|
||||||
|
connector.setScheme("https");
|
||||||
|
connector.setSecure(true);
|
||||||
|
connector.setPort(8443);
|
||||||
|
protocol.setSSLEnabled(true);
|
||||||
|
protocol.setKeystoreFile(keystore.getAbsolutePath());
|
||||||
|
protocol.setKeystorePass("changeit");
|
||||||
|
protocol.setTruststoreFile(truststore.getAbsolutePath());
|
||||||
|
protocol.setTruststorePass("changeit");
|
||||||
|
protocol.setKeyAlias("apitester");
|
||||||
|
return connector;
|
||||||
|
}
|
||||||
|
catch (IOException ex) {
|
||||||
|
throw new IllegalStateException("can't access keystore: [" + "keystore"
|
||||||
|
+ "] or truststore: [" + "keystore" + "]", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
Loading…
Reference in New Issue