SpringBoot配置SSL证书

1.将文件放入resources文件夹下

2.配置application文件

这样配置启动就是https请求才能访问了,如果不设置端口号默认端口号为443 (截图的时候我将ssl证书给关闭了,要开启记得enable设为true)

3.错误Caused by: java.io.IOException: Invalid keystore format

    在配置完SSL证书的配置后我启动一直在报Caused by: java.io.IOException: Invalid keystore format错误

    这个错误是因为maven编译了我们的加密文件需要在pom文件加上 

     <!--解决增加ssl证书报Invalid keystore format问题-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <nonFilteredFileExtensions>
                        <!--这里是文件后缀-->
                        <nonFilteredFileExtension>pfx</nonFilteredFileExtension>
                    </nonFilteredFileExtensions>
                </configuration>
            </plugin>

4.设置http请求转https

@Configuration
public class MonitorConfig {
    @Bean
    TomcatServletWebServerFactory tomcatServletWebServerFactory() {
        TomcatServletWebServerFactory factory = 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);
            }
        };
        factory.addAdditionalTomcatConnectors(createTomcatConnector());
        return factory;
    }


    private Connector createTomcatConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        connector.setPort(8083);
        connector.setSecure(false);
        connector.setRedirectPort(8096);
        return connector;
    }

 

    在网页访问

    

     执行后,被重定向到https的端口了,因为我这个是本地启动的项目所以显示不安全

      

  

  部署到服务器上后要用域名访问

原文地址:https://www.cnblogs.com/HQ0422/p/14109914.html