springboot允许https和http同时访问


步骤如下

  • 首先得有ssl证书
  我是在阿里云上申请的,申请比较简单,百度上一大堆.
申请好之后下载相应的文件,我下载的是tomcat的.解压到
相应的文件夹,之后通过dos命令行转到此路径.运行代码.
  • 运行命令如下
keytool -importkeystore -srckeystore 1314xxx.pfx -destkeystore 1314.jks -srcstoretype PKCS12 -deststoretype JKS
说明:
1314xxx.pfx:是你从阿里云上下载解压得到的文件
1314.jks:这是你要生成的文件,也是终极文件(放到application.yml或者application.properties同等级目录下)
回车过程会让你输入三次密码(解压文件里面有,尽量复制,三次都要一样)
  • 配置application.yml文件
http:
  port: 8080(http端口)


server:
  port: 8888(https端口)
  ssl:
    key-store: classpath:1314.jks(1314是我命的名字,上面已经说明)
    key-store-password: password(解压文件里面有和上面输入一样)
    key-store-type: JKS(看看你1314.jks后缀名就知道了)
    key-alias: alias
  • springboot的主程序代码如下

@SpringBootApplication
public class Application{

  @Value("${http.port}")
  private Integer port;

  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }

//前面基本一致,只不过注入了一个http端口,主要改下面
  @Bean
  public ServletWebServerFactory servletContainer() {
    TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
    tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http
    return tomcat;
  }
  // 配置http
  private Connector createStandardConnector() {
    Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
    connector.setPort(port);
    return connector;
  }

}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM