springboot 同时启用http/https的配置方法

网友投稿 463 2022-10-24


springboot 同时启用http/https的配置方法

1. 启用HTTPS

修改配置

application.yml

server:

# port: 80

port: 443

ssl:

enabled: true

key-store: /key_store.jks

key-store-password: key_store_pwd

2. 添加http协议连接器

增加java配置

@Bean

public ServletWebServerFactory servletWebServerFactory() {

TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();

Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);

connector.setPort(80);

tomcat.addAdditionalTomcatConnectors(connector);

return tomcat;

}

扩展知WXBRcsfjCJ识点:springboot如何配置,同时支持https和http

使用jdk自带的keytools创建证书

keytool -genkey -alias tomcat -keyalg RSA -keystore ./server.keystore

按照提示完成操作

输入密钥库口令:123456

再次输入新口令:123456

您的名字与姓氏是什么?

  [Unknown]:  kaibowang

您的组织单位名称是什么?

  [Unknown]:  yuxuelian

您的组织名称是什么?

  [Unknown]:  yuxuelian

您所在的城市或区域名称是什么?

  [Unknown]:  chengdu

您所在的省/市/自治区名称是什么?

  [Unknown]:  chengdushi

该单位的双字母国家/地区代码是什么?

  [Unknown]:  china

CN=kaibowang, OU=yuxuelian, O=yuxuelian, L=chengdu, ST=chengdushi, C=china是否正确?

  [否]:  y

输入 的密钥口令

        (如果和密钥库口令相同, 按回车):

再次输入新口令:

Warning:

JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore C:\Users\Administrator\.keystore -destkeystore C:\Users\Administrator\.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

创建完成后,可在用户根目录查看生成的keystore文件

将生成的keystore文件复制到项目的根目录下

在application.yml中添加配置

server:

port: 443

ssl:

key-store: server.keystore

key-store-password: 生成server.keystore时输入的密码

key-alias: tomcat

key-store-type: JKS

在application启动文件中添加配置

package com.cisdi.info.simple;

import org.apache.catalina.connector.Connector;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.autoconfigure.domain.EntityScan;

import org.springframework.boohttp://t.autoconfigure.security.servlet.SecurityAutoConfiguration;

import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;

import org.springframework.boot.web.servlet.server.ServletWebServerFactory;

import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

import org.springframework.context.annotation.Bean;

/**

*

* @author CISDI

* @date 2018/04/27

*/

@SpringBootApplication(scanBasePackages = {"com.cisdi.info.simple.*"}, exclude = {SecurityAutoConfiguration.class})

@EntityScan("com.cisdi.info.simple.*")

@EnableDiscoveryClient(autoRegister = false)

public class Application {

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;

}

private Connector createStandardConnector() {

Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");

connector.setPort(8080);

return connector;

}

}

完成配置

以上就是springboot 同时启用http/https的配置方法的详细内容,更多关于springboot启用http/https的资料请关注我们其它相关文章!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:达内-网络工程-IP地址的认识以及二进制与十进制的转换方法
下一篇:技能大赛已成名利场
相关文章

 发表评论

评论列表