下面列出了org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory#addAdditionalTomcatConnectors ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Bean
public TomcatServletWebServerFactory tomcatServletWebServerFactory(Connector connector) {
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(connector);
return tomcat;
}
@Bean
TomcatServletWebServerFactory tomcatServletWebServerFactory() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
SecurityConstraint constraint = new SecurityConstraint();
constraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection collection = new SecurityCollection();
collection.addPattern("/*");
constraint.addCollection(collection);
context.addConstraint(constraint);
}
};
factory.addAdditionalTomcatConnectors(createTomcatConnector());
return factory;
}
/**
* 配置内置的Servlet容器工厂为Tomcat
* @return
*/
@Bean
public 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);
}
};
//添加配置信息,主要是Http的配置信息
tomcat.addAdditionalTomcatConnectors(redirectConnector());
return tomcat;
}
@Bean
public ConfigurableServletWebServerFactory configurableServletWebServerFactory() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
factory.setSsl(getSsl());
factory.setPort(8443);
factory.addAdditionalTomcatConnectors(getHttpConnector());
factory.addContextCustomizers(context -> {
addSecurityConstraint(context);
});
// factory.addConnectorCustomizers(connector -> {
// connector.setAllowTrace(true);
// });
return factory;
}
@Bean
public 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;
}
@Bean
public TomcatServletWebServerFactory tomcatServletWebServerFactory(Connector connector) {
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(connector);
return tomcat;
}
@Bean
public TomcatServletWebServerFactory servletContainerFactory() {
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);
}
};
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
//设置将分配给通过此连接器接收到的请求的方案
connector.setScheme("http");
//true: http使用http, https使用https;
//false: http重定向到https;
connector.setSecure(false);
//设置监听请求的端口号,这个端口不能其他已经在使用的端口重复,否则会报错
connector.setPort(httpPort);
//重定向端口号(非SSL到SSL)
connector.setRedirectPort(sslPort);
tomcat.addAdditionalTomcatConnectors(connector);
return tomcat;
}
@Bean
public ServletWebServerFactory servletContainer(ServerProperties serverProperties) {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addConnectorCustomizers(new VIPTomcatConnectionCustomizer(serverProperties));
if (serverProperties.getServerScheme().equalsIgnoreCase(ConstantsTomcat.HTTP_HTTPS) ||
serverProperties.getServerScheme().equalsIgnoreCase(ConstantsTomcat.HTTPS_HTTP)) {
tomcat.addAdditionalTomcatConnectors(initiateHttpsConnector(serverProperties));
}
return tomcat;
}
@Bean
public ServletWebServerFactory servletContainer(ServerProperties serverProperties) {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addConnectorCustomizers(new VIPTomcatConnectionCustomizer(serverProperties));
if (serverProperties.getServerScheme().equalsIgnoreCase(ConstantsTomcat.HTTP_HTTPS) ||
serverProperties.getServerScheme().equalsIgnoreCase(ConstantsTomcat.HTTPS_HTTP)) {
tomcat.addAdditionalTomcatConnectors(initiateHttpsConnector(serverProperties));
}
return tomcat;
}
@Bean
public TomcatServletWebServerFactory servletContainer()
{
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
if (ajpPort > 0) {
Connector ajpConnector = new Connector(PROTOCOL);
ajpConnector.setPort(ajpPort);
ajpConnector.setAttribute("secretRequired", ajpSecretRequired);
ajpConnector.setAttribute("secret", ajpSecret);
ajpConnector.setAttribute("address", ajpAddress);
factory.addAdditionalTomcatConnectors(ajpConnector);
}
return factory;
}
@Bean
public ServletWebServerFactory servletContainer(TomcatSslConnectorProperties properties) {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createSslConnector(properties));
tomcat.setSessionTimeout(Duration.ofMinutes(1));
return tomcat;
}
@Bean
public ServletWebServerFactory servletContainer(TomcatSslConnectorProperties properties) {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createSslConnector(properties));
tomcat.setSessionTimeout(Duration.ofMinutes(1));
return tomcat;
}
@Bean
public ServletWebServerFactory servletContainer(TomcatSslConnectorProperties properties) {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createSslConnector(properties));
tomcat.setSessionTimeout(Duration.ofMinutes(1));
return tomcat;
}
@Bean
public ServletWebServerFactory servletContainer(TomcatSslConnectorProperties properties) {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createSslConnector(properties));
tomcat.setSessionTimeout(Duration.ofMinutes(1));
return tomcat;
}
@Bean
public ServletWebServerFactory servletContainer(TomcatSslConnectorProperties properties) {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createSslConnector(properties));
tomcat.setSessionTimeout(Duration.ofMinutes(1));
return tomcat;
}
@Bean
public ServletWebServerFactory servletContainer(TomcatSslConnectorProperties properties) {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createSslConnector(properties));
tomcat.setSessionTimeout(Duration.ofMinutes(1));
return tomcat;
}
@Bean
public ServletWebServerFactory servletContainer(TomcatSslConnectorProperties properties) {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createSslConnector(properties));
tomcat.setSessionTimeout(Duration.ofMinutes(1));
return tomcat;
}
@Bean
@ConditionalOnMissingBean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(getAppHttpPort());
tomcat.addAdditionalTomcatConnectors(connector);
return tomcat;
}
@Bean
public TomcatServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
if (Boolean.parseBoolean(httpsModeFlag)) {
tomcat.addAdditionalTomcatConnectors(createSslConnector());
}
return tomcat;
}
@Bean
public TomcatServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http
return tomcat;
}