为了支持HTTP,我已经将以下代码添加到我的网络应用程序(Spring启动2.5.6v),该应用程序具有HTTPS的SSL证书。
@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;
}
private Connector redirectConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(8080);
connector.setSecure(false);
connector.setRedirectPort(8443);
return connector;
}
我从上面的代码中可以理解的是,我从外部站点复制粘贴(没有太多解释),每当它收到8080 port(HTTP://localhost:8080)的请求时,它都会将请求重定向到8443 port(HTTPS://localhost:8443)。我不太确定是否也将此代码用于生产代码。此代码的缺点是什么,可以进行哪些修改?还请提供与上述代码相关的文档/解释,以便我清楚地了解我正在做什么。
您可以考虑以下查询参考:
如何在Spring Boot Java应用程序中启用HTTPS
我认为这可能行得通,但是您也可以考虑使用< code>tomacat ajp连接器,因为spring-boot使用< code>apache tomacat服务器在您的系统上运行。
更多信息请参考:AJP连接器
只需在Spring Boot2.2.5.RELEASE版本上启用AJP。并添加以下内容:((AbstractAjpProtocol)ajpConnector.getProtocolHandler()). setSec必需(false);
您可以在下面的代码中看到我在哪里使用了它
用于说明的演示代码:
@Configuration
public class TomcatConfiguration {
@Value("${tomcat.ajp.port}")
int ajpPort;
@Value("${tomcat.ajp.remoteauthentication}")
String remoteAuthentication;
@Value("${tomcat.ajp.enabled}")
boolean tomcatAjpEnabled;
@Bean
public TomcatServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
if (tomcatAjpEnabled) {
Connector ajpConnector = new Connector("AJP/1.3");
ajpConnector.setPort(ajpPort);
ajpConnector.setSecure(false);
ajpConnector.setAllowTrace(false);
ajpConnector.setScheme("http");
((AbstractAjpProtocol) ajpConnector.getProtocolHandler()).setSecretRequired(false);
tomcat.addAdditionalTomcatConnectors(ajpConnector);
}
return tomcat;
}
}
另外在application.properties
文件中添加:
server.port=8082
tomcat.ajp.port=9090
tomcat.ajp.remoteauthentication=false
tomcat.ajp.enabled=true
我正在设置SSL证书以在我的站点上启用HTTPS。主webapp服务于根域:domain.com。然而,CDN是在亚马逊CloudFront的CDN.domain.com上提供的。 在从CDN中检索资产时,两个不同的SSL证书会以某种方式搞砸CORS,或者在这样的设置中还有什么我应该注意的吗? 谢了。
你可以添加 SSH 或 SSL 证书来连接你的实例。若要配置 SSH 或 SSL 证书,请前往“配置”->“SSH 或 SSL 证书”。 添加 SSH 证书 若要创建一个新证书,请点击“+ 新建证书”并选择“SSH 证书”。 名 SSH 证书的名。 私钥 粘贴私钥文件的内容。 添加 SSL 证书 若要创建一个新证书,请点击“+ 新建证书”并选择“SSL 证书”。 名 SSL 证书的名。 CA 证书
我已经成功地预先在另一个项目中添加了一个新的主要活动。然而,我试图在不同的项目中使用相同的技术(由于主线程中的工作量而出现问题)。 我想创建一个名为“主页”的简单主页,上面有一个按钮,可以弹出名为“主活动”的原始主活动。"主要活动用于连接到名为"GetLightData"的servlet。这个项目在添加主页之前在模拟器上工作(有一些错误),但是现在它会立即崩溃。我真的很感激特定于我的代码的答案,谢
背景资料 我试图实现一个WAF字体的web应用程序托管在Azure应用程序服务。此应用程序被配置为强制https,因此WAF需要通过https流量(这里解释的端到端SSLhttps://docs.microsoft.com/en-us/azure/application-gateway/ssl-overview#end-to-end-ssl-encryption)。 我已通过Azure中的应用程序
问题内容: 一般来说,我从GoDaddy获得了3个文件: 主证书文件 服务器私钥 捆绑文件 通过以下方式在Go服务器中配置了所有这些文件: 网络服务器运行正常,当前发布在。 我使用验证了我的SSL ,它的响应是 您可以转到此链接查看所有详细结果。 我想念什么? 问题答案: 在该线程之后,并从doc中开始: 如果证书是由证书颁发机构签名的,则certFile应该是服务器证书,任何中间件和CA证书的串