91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在springboot中通過配置ssl實現HTTPS

發布時間:2021-04-20 16:46:26 來源:億速云 閱讀:166 作者:Leah 欄目:編程語言

怎么在springboot中通過配置ssl實現HTTPS?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

springboot是什么

springboot一種全新的編程規范,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程,SpringBoot也是一個服務于框架的框架,服務范圍是簡化配置文件。

在配置TLS/SSL之前我們需要拿到相應簽名的證書,測試實例可以使用Java 下面的 Keytool 來生成證書:

打開控制臺輸入:

keytool -genkey -alias tomcat  -storetype PKCS12 -keyalg RSA -keysize 2048  -keystore keystore.p12 -validity 3650

怎么在springboot中通過配置ssl實現HTTPS

這里的別名是 keystore.p12,密碼什么的直接設置就好,然后回車

然后根據路徑找到生成好的證書,把證書復制到項目里,我是放到了這里

怎么在springboot中通過配置ssl實現HTTPS

放好證書后,建立一個index.html放到resources/templates文件夾下,一會用于測試。

再配置properties

server.port=8888
server.tomcat.uri-encoding=utf-8
server.servlet.context-path=/demo 
server.ssl.key-store=keystore.p12
server.ssl.key-store-password=123456
server.ssl.key-store-type=PKCS12
server.ssl.key-alias=tomcat 
spring.thymeleaf.prefix=classpath:/templates/

配置好properties再加入下面的代碼

@Configuration
public class HttpsConfig {
 
  /**
   * spring boot 1.0
   */
  /* @Bean
  public EmbeddedServletContainerFactory servletContainer() {
    TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {
      @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(httpConnector());
    return tomcat;
  }*/
 
  /**
   * spring boot 2.0
   * @return
   */
  @Bean
  public TomcatServletWebServerFactory 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(httpConnector());
    return tomcat;
  }
 
  @Bean
  public Connector httpConnector() {
    Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
    connector.setScheme("http");
    //Connector監聽的http的端口號
    connector.setPort(8080);
    connector.setSecure(false);
    //監聽到http的端口號后轉向到的https的端口號
    connector.setRedirectPort(8888);
    return connector;
  }
 
}
@Controller
@RequestMapping
public class ViewControlller {
 
  @GetMapping("index")
  public String index(){
    return "index";
  }
}

值得注意的是加入的springboot jar的版本不同代碼有一定的改變,我這里用的是2.0的版本,還有就是要想跳轉到html頁面的時候一定注意的就是千萬不要在Controller中用@RestController而是要用Controller,如果用RestController的話就會直接把你的index解析顯示在頁面當中,就不會跳轉了,還有就是想要跳轉的話一定要加入下面的兩個jar包

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
  <version>2.0.1.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

準備完畢后啟動項目,打印臺顯示

怎么在springboot中通過配置ssl實現HTTPS

再輸入:

127.0.0.1:8080/demo/index就會自動跳轉

怎么在springboot中通過配置ssl實現HTTPS

看完上述內容,你們掌握怎么在springboot中通過配置ssl實現HTTPS的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昭觉县| 城固县| 皮山县| 清远市| 区。| 丹棱县| 新竹县| 汾西县| 交口县| 承德县| 九龙县| 丹棱县| 科技| 平江县| 巴彦县| 阿克陶县| 廉江市| 阿鲁科尔沁旗| 托克逊县| 大余县| 自贡市| 陇川县| 方山县| 邳州市| 遂平县| 大英县| 伊通| 大姚县| 观塘区| 武功县| 府谷县| 天全县| 治县。| 天长市| 融水| 增城市| 湖州市| 泾阳县| 汝州市| 镶黄旗| 汝阳县|