国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

springboot項(xiàng)目同時(shí)支持http和https訪問

這篇具有很好參考價(jià)值的文章主要介紹了springboot項(xiàng)目同時(shí)支持http和https訪問。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1、通過JDK中keytool工具生成證書

前提是電腦安裝了JDK并配置了環(huán)境變量,打開CMD,并輸入

keytool -genkey -alias tomcat -keyalg RSA -keystore ./server.keystore

密碼和證書內(nèi)容根據(jù)自己情況可以自定義(我設(shè)置的密碼是:dev123),如圖所示:

springboot項(xiàng)目同時(shí)支持http和https訪問,springboot,后端技術(shù)棧,實(shí)戰(zhàn)總結(jié),spring boot,http,https

以上操作后即生成證書,證書位置在cmd的路徑位置,一般在路徑C:\Users\Administrator\server.keystore

2、將證書放入到springboot項(xiàng)目內(nèi)

將 文件 server.keystore 復(fù)制到 Springboot項(xiàng)目resources文件夾下,如圖所示:

springboot項(xiàng)目同時(shí)支持http和https訪問,springboot,后端技術(shù)棧,實(shí)戰(zhàn)總結(jié),spring boot,http,https

?

3、配置application.yml文件

打開application.yml配置文件,添加server相關(guān)的ssl配置,如下代碼:

server:
  port: 8080
  ssl:
    protocol: TLS
    key-store: classpath:server.keystore
    key-alias: tomcat
    enabled: true
    key-store-password: dev123
    key-store-type: JKS

此時(shí)啟動(dòng)springboot項(xiàng)目,已經(jīng)可以訪問https://localhost:8080地址了,但是http請(qǐng)求現(xiàn)在是無法訪問的。

4、添加配置類允許http訪問

單用上面的配置即可支持https,我們還想支持http訪問自動(dòng)定向到https可以添加如下代碼:

先在application.yml配置文件中添加 httpPort: 8888

server:
  port: 8080
  httpPort: 8888
  ssl:
    protocol: TLS
    key-store: classpath:server.keystore
    key-alias: tomcat
    enabled: true
    key-store-password: dev123
    key-store-type: JKS

然后新建HttpsConfig類,

package com.lyf.demo01.config;

import org.apache.catalina.connector.Connector;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author lxh
 * @Decription 配置同時(shí)支持 HTTP 與 HTTPS 訪問
 * @date 2023/8/2 10:33
 **/
@Configuration
public class HttpsConfig {
    @Value("${server.httpPort}")
    private Integer httpPort;

    @Bean
    public ServletWebServerFactory serverFactory() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
        tomcat.addAdditionalTomcatConnectors(createStandardConnector());
        return tomcat;
    }
    /**
     * 配置http
     * @return
     */
    private Connector createStandardConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setPort(httpPort);
        return connector;
    }
}

注意:上面代碼中TomcatServletWebServerFactory 這個(gè)類是springboot 2.0.x中的。

5、測試http和https訪問

再次運(yùn)行項(xiàng)目,即可訪問https://localhost:8080/和http://localhost:8888/。

至此實(shí)現(xiàn)springboot項(xiàng)目既支持http訪問又支持https請(qǐng)求。


拓展:keytool知識(shí)

keytool為java原生自帶,安裝java后不需要再進(jìn)行安裝,作為密鑰和證書管理工具,方便用戶能夠管理自己的公鑰/私鑰及證書,用于認(rèn)證服務(wù)。

springboot項(xiàng)目同時(shí)支持http和https訪問,springboot,后端技術(shù)棧,實(shí)戰(zhàn)總結(jié),spring boot,http,https

1. 相關(guān)概念

keystore
keytool將密鑰(key)和證書(certificates)存儲(chǔ)在keystore文件中,

密鑰需要存儲(chǔ)在密鑰庫中

2. 相關(guān)命令

-alias 產(chǎn)生別名
-keystore 指定密鑰庫的名稱(就像數(shù)據(jù)庫一樣的證書庫,可以有很多個(gè)證書,cacerts這個(gè)文件是jre自帶的,你也可以使用其它文件名字,如果沒有這個(gè)文件名字,它會(huì)創(chuàng)建這樣一個(gè))
-storepass 指定密鑰庫的密碼
-keypass 指定別名條目的密碼
-list 顯示密鑰庫中的證書信息
-v 顯示密鑰庫中的證書詳細(xì)信息
-export 將別名指定的證書導(dǎo)出到文件
-file 參數(shù)指定導(dǎo)出到文件的文件名
-delete 刪除密鑰庫中某條目
-import 將已簽名數(shù)字證書導(dǎo)入密鑰庫
-keypasswd 修改密鑰庫中指定條目口令
-dname 指定證書擁有者信息
-keyalg 指定密鑰的算法
-validity 指定創(chuàng)建的證書有效期多少天
-keysize 指定密鑰長度

3. 生成秘鑰庫

生成密鑰庫的同時(shí)生成一個(gè)密鑰對(duì),并且密鑰庫和密鑰對(duì)都是需要密碼的

keytool -genkey -keystore "/Users/..../tmp/keytool/test.keystore" -alias mytest -keyalg RSA -validity 365

4. 查看證書

keytool -list -v -keystore test.keystore -storepass 123456

5. 導(dǎo)入證書

keytool -import -alias test1 -file ./test.crt -keystore ./test.keystore -storepass 789789

6. 導(dǎo)出證書

keytool -export -alias mytest -keystore ./test.keystore -file ./test.crt -storepass 789789

7.修改密碼

修改密鑰庫中指定條目的密碼

keytool -keypasswd -alias 需修改的別名 -keypass 舊密碼 -new 新密碼 -storepass keystore密碼 -keystore 所在的密鑰庫

修改密鑰庫的密碼文章來源地址http://www.zghlxwxcb.cn/news/detail-856201.html

keytool -storepasswd -keystore ./yushan.keystore(需修改口令的keystore) -storepass 123456(原始密碼) -new yushan(新密碼)

到了這里,關(guān)于springboot項(xiàng)目同時(shí)支持http和https訪問的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Nginx同時(shí)支持Http和Https的配置詳解

    當(dāng)配置Nginx同時(shí)支持HTTP和HTTPS時(shí),需要進(jìn)行以下步驟: 獲得SSL證書:從可信任的證書頒發(fā)機(jī)構(gòu)(CA)或使用自簽名證書創(chuàng)建SSL證書。 將證書和私鑰保存到服務(wù)器:將SSL證書和私鑰文件保存到指定的位置,通常是 /etc/nginx/ssl/ 目錄。 配置HTTP服務(wù): 打開 Nginx 配置文件: 通常是

    2024年02月02日
    瀏覽(21)
  • kubernetes的ingress實(shí)現(xiàn)同時(shí)支持http和https

    生產(chǎn)環(huán)境中對(duì)外的服務(wù)一般需要配置https服務(wù),使用ingress也可以很方面的添加https的證書。默認(rèn)情況下,如果為該 Ingress 啟用了 TLS,控制器會(huì)使用 308 永久重定向響應(yīng)將 HTTP 客戶端重定向到 HTTPS 端口 443。( Ingress 里配置了 https 證書的話,默認(rèn)就一定會(huì)走 https)。即默認(rèn)情況

    2024年02月15日
    瀏覽(20)
  • Nginx 一個(gè)端口同時(shí)支持 http 和 https協(xié)議【詳細(xì)步驟】

    ?? 背景:使用 Nginx 1.24.0 代理前端及后端應(yīng)用,假設(shè)稱之為 A 系統(tǒng)。A 系統(tǒng)最初使用的是 http 協(xié)議,后來改成了 https 協(xié)議。 Nginx 配置 https 訪問【圖文教程】:Nginx 配置 https 訪問 ?? 問題:修改為 https 協(xié)議后,發(fā)現(xiàn)一些問題。即 依賴 A 的系統(tǒng)沒有改成 https,導(dǎo)致報(bào)錯(cuò) 。 ??

    2024年01月25日
    瀏覽(25)
  • SpringBoot + Vue2項(xiàng)目打包部署到服務(wù)器后,使用Nginx配置SSL證書,配置訪問HTTP協(xié)議轉(zhuǎn)HTTPS協(xié)議

    SpringBoot + Vue2項(xiàng)目打包部署到服務(wù)器后,使用Nginx配置SSL證書,配置訪問HTTP協(xié)議轉(zhuǎn)HTTPS協(xié)議

    配置nginx.conf文件,這個(gè)文件一般在/etc/nginx/...中,由于每個(gè)人的體質(zhì)不一樣,也有可能在別的路徑里,自己找找... 證書存放位置,可自定義存放位置 兩個(gè)文件 后端配置 把.pfx拷貝到resource下,然后配置一下yml

    2024年02月02日
    瀏覽(100)
  • SpringBoot后端服務(wù)開啟Https協(xié)議提供訪問(使用阿里云資源)

    SpringBoot后端服務(wù)開啟Https協(xié)議提供訪問(使用阿里云資源)

    目錄 概述 ?申請(qǐng)/下載證書 部署證書 本地測試訪問 服務(wù)器部署訪問 ?最后/擴(kuò)展 總結(jié) 本篇博客說明如何將SpringBoot項(xiàng)目開啟Https協(xié)議提供訪問。 博文以步驟 【申請(qǐng)/下載證書】,【部署證書】,【本地測試訪問】,【服務(wù)器部署訪問】 ?, 【擴(kuò)展】 展開說明。 廢話 :當(dāng)我們

    2024年02月12日
    瀏覽(23)
  • springboot添加SSL證書,支持https與http

    springboot添加SSL證書,支持https與http

    將證書文件放在/resource目錄下 修改配置文件

    2024年02月10日
    瀏覽(28)
  • LaravelS 項(xiàng)目配置ssl 支持https 訪問

    ####laravalS 配置ssl 請(qǐng)求支持https nginx: [emerg] no “ssl_certificate” is defined for the “l(fā)isten … ssl” directive in /www/server/panel/vhost/nginx/im.17epk.com.conf:14 配置 1、 listen 443 ssl http2; 2.、 #SSL-START SSL相關(guān)配置,請(qǐng)勿刪除或修改下一行帶注釋的404規(guī)則 #error_page 404/404.html; ssl_certificate /www/server/

    2024年02月15日
    瀏覽(23)
  • SpringBoot項(xiàng)目訪問后端頁面404

    SpringBoot項(xiàng)目訪問后端頁面404

    ? ? ? ? 檢查項(xiàng)目的路徑和mapper映射路徑?jīng)]問題后,發(fā)現(xiàn)本級(jí)pom文件沒有加入web啟動(dòng)模塊的pom文件中 ? ? ? ? maven做項(xiàng)目控制時(shí),要注意將maven模塊加入到web啟動(dòng)模塊中

    2024年02月07日
    瀏覽(22)
  • SpringBoot項(xiàng)目整合WebSocket+netty實(shí)現(xiàn)前后端雙向通信(同時(shí)支持前端webSocket和socket協(xié)議哦)

    SpringBoot項(xiàng)目整合WebSocket+netty實(shí)現(xiàn)前后端雙向通信(同時(shí)支持前端webSocket和socket協(xié)議哦)

    目錄 ? 前言 技術(shù)棧 功能展示 一、springboot項(xiàng)目添加netty依賴 二、netty服務(wù)端 三、netty客戶端 四、測試 五、代碼倉庫地址 ??專屬小彩蛋:前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站(前言 - 床長人工智能教程

    2024年02月12日
    瀏覽(22)
  • 【開發(fā)細(xì)節(jié)】SpringBoot項(xiàng)目將接口從HTTP換為HTTPS

    【開發(fā)細(xì)節(jié)】SpringBoot項(xiàng)目將接口從HTTP換為HTTPS

    首先需要生成一個(gè) SSL 證書,可以使用 OpenSSL 工具或者自己的 CA 頒發(fā)機(jī)構(gòu)來生成證書 ,這里就不贅述了。如果是 測試階段,也可以使用 self-signed certificate 。 直接使用 jdk的keytool生成 ,具體操作方法如下: 使用管理員身份運(yùn)行命令提示符 使用命令進(jìn)入到j(luò)dk安裝路徑的bin文件

    2024年02月13日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包