springboot2配置https

  1. 添加配置类HttpsConfig.java

```java
		/**
		 * https SSL配置
		 */
		@Configuration
		public class HttpsConfig {
		
		    @Value("${server.http-port}")
		    Integer httpPort;
		
		    @Value("${server.port}")
		    Integer httpsPort;
		
		    @Bean
		    public ServletWebServerFactory 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(createHTTPConnector());
		        return tomcat;
		    }
		
		    private Connector createHTTPConnector() {
		        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
		        connector.setProperty("relaxedQueryChars", "[]{}");
		        connector.setScheme("http");
		        connector.setSecure(false);
		        // http 端口 8080
		        connector.setPort(httpPort);
		        // https端口 server.port 必须一致 8443 否则 会报 端口被占用异常
		        connector.setRedirectPort(httpsPort);
		        return connector;
		    }
		}
  1. application.yml添加ssl配置
    如果证书别名与密码不正确也会报错
	#启动访问端口
		server:
		  port: 8443
		  ssl:
		    key-store: E:\ssl\cert\certhttps.pfx   # 也可以是其他文件格式
		    key-store-password: 123456
		    key-alias: certssl
		  http-port: 8080
  1. 如没有证书密码可利用jdk自带工具生成测试:

    cd jdk/bin 目录执行
    keytool -genkey -alias certssl -keyalg RSA -keysize 2048 -keystore E:\ssl\cert\certhttps.p12 -validity 3650

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值