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的端口了,因為我這個是本地啟動的項目所以顯示不安全
部署到服務器上后要用域名訪問