SpringBoot http升为https(自签SSL证书,局域网内使用)http重定向https

SpringBoot http升为https(自签SSL证书,局域网内使用)http重定向https

  1. 首先要生成证书,到服务器jdk的bin文件夹下执行命令行:keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keyword.p12 -validity 3650 ,输入密码,剩下的可以不输,直接全部回车,执行完之后会在当前文件夹内生成一个keyword.p12的文件。

  2. 将keyword.p12拷贝至resources目录下,然后在pom.xml中添加:

    	<resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <filtering>true</filtering>
                    <excludes>
                        <exclude>**/*.p12</exclude>
                    </excludes>
                </resource>
                <resource>
                    <directory>src/main/resources</directory>
                    <filtering>false</filtering>
                    <includes>
                  
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Springboot可以通过配置Tomcat来实现重定向https。具体实现方式如下:在application.properties文件中添加以下配置: ``` server.port=80 server.ssl.key-store=classpath:keystore.p12 server.ssl.key-store-password=your_password server.ssl.keyStoreType=PKCS12 server.ssl.keyAlias=tomcat server.ssl.enabled=true server.tomcat.remote-ip-header=x-forwarded-for server.tomcat.protocol-header=x-forwarded-proto ``` 其中,server.port设置为80,表示http协议的端口;server.ssl.enabled设置为true,表示启用https协议;server.ssl.key-store设置为证书的路径;server.ssl.key-store-password设置为证书的密码;server.ssl.keyStoreType设置为证书的类型;server.ssl.keyAlias设置为证书的别名。最后,在Springboot的启动类中添加如下代码: ``` @Bean public TomcatServletWebServerFactory 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(httpConnector()); return tomcat; } @Bean public Connector httpConnector() { Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL); connector.setScheme("http"); connector.setPort(80); connector.setSecure(false); connector.setRedirectPort(443); return connector; } ``` 这段代码的作用是将http请求重定向https请求。其中,httpConnector()方法返回一个Connector对象,设置了http协议的端口为80,https协议的端口为443,以及重定向的设置。servletContainer()方法返回一个TomcatServletWebServerFactory对象,设置了安全约束,以及添加了httpConnector()方法返回的Connector对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值