SpringBoot配置https

简介: SpringBoot配置https
#https 
//使用keytool生成本地证书 ,keytool是jdk自带的生成key工具,别名为tomcat
keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650
#-----上面那段话直接执行就行,Windows进去jdk目录底下。
#application.properties
#配置https
server.port=8443
#.keystore放在了src/main/resources里面,默认是隐藏的,可以从盘符下看
server.ssl.key-store=classpath:keystore.p12
#用jdk生成key时的口令
server.ssl.key-store-password=123456
server.ssl.keyStoreType:PKCS12
#key的别名
server.ssl.keyAlias:tomcat
#配置从定向
#以下就是配置重定向的代码
import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
 * @ClassName: HttpsConfig.java
 * @Description: TODO(用一句话描述做什么)
 * 
 * @author liu pei
 * @version V 1.0
 * @Date 2019年3月4日 上午11:19:03
 */
@Configuration
public class HttpsConfig {
  // 在某配置类中添加如下内容
  // 监听的http请求的端口,需要在application配置中添加http.port=端口号 如80
  @Value("${http.port}")
  Integer httpPort;
  // 正常启用的https端口 如443
  @Value("${server.port}")
  Integer httpsPort;
  // springboot2 写法
  @Bean
  public TomcatServletWebServerFactory servletContainer() {
    TomcatServletWebServerFactory tomcat = 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);
      }
    };
    tomcat.addAdditionalTomcatConnectors(httpConnector());
    return tomcat;
  }
  @Bean
  public Connector httpConnector() {
    Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
    connector.setScheme("http");
    // Connector监听的http的端口号
    connector.setPort(httpPort);
    connector.setSecure(false);
    // 监听到http的端口号后转向到的https的端口号
    connector.setRedirectPort(httpsPort);
    return connector;
  }
}

 

相关文章
|
9天前
|
安全 应用服务中间件 网络安全
49.3k star,本地 SSL 证书生成神器,轻松解决 HTTPS 配置痛点
mkcert是一款由Filippo Valsorda开发的免费开源工具,专为生成受信任的本地SSL/TLS证书而设计。它通过简单的命令自动生成并安装本地信任的证书,使本地环境中的HTTPS配置变得轻松无比。mkcert支持多个操作系统,已获得49.2K的GitHub Star,成为开发者首选的本地SSL工具。
|
1月前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
2月前
|
数据安全/隐私保护 Docker 容器
配置Harbor支持https功能实战篇
关于如何配置Harbor支持HTTPS功能的详细教程。
85 12
配置Harbor支持https功能实战篇
|
2月前
|
分布式计算 Hadoop Devops
Hadoop集群配置https实战案例
本文提供了一个实战案例,详细介绍了如何在Hadoop集群中配置HTTPS,包括生成私钥和证书文件、配置keystore和truststore、修改hdfs-site.xml和ssl-client.xml文件,以及重启Hadoop集群的步骤,并提供了一些常见问题的故障排除方法。
75 3
Hadoop集群配置https实战案例
|
2月前
|
Linux Docker Windows
Docker配置https证书案例
本文介绍了如何为Docker的Harbor服务配置HTTPS证书,包括安装Docker和Harbor、修改配置文件以使用证书、生成自签名证书、配置证书以及验证配置的步骤。
161 2
Docker配置https证书案例
|
2月前
|
应用服务中间件 网络安全 Apache
HTTPS配置
HTTPS配置
133 11
|
2月前
|
监控 安全 应用服务中间件
如何配置HTTPS协议?
如何配置HTTPS协议?
191 4
|
6月前
|
网络协议 Java 应用服务中间件
Springboot+ubuntu+Let‘s Encrypt配置https
Springboot+ubuntu+Let‘s Encrypt配置https
111 0
|
安全 Java 网络安全
Spring Boot配置SSL证书(开启https)
Spring Boot配置SSL证书(开启https)
1784 0
|
6月前
|
Web App开发 前端开发 Java
SpringBoot配置HTTPS及开发调试
在实际开发过程中,如果后端需要启用https访问,通常项目启动后配置nginx代理再配置https,前端调用时高版本的chrome还会因为证书未信任导致调用失败,通过摸索整理一套开发调试下的https方案,特此分享
93 0
SpringBoot配置HTTPS及开发调试