日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

1.申請(qǐng)證書(shū)

這里我選擇的是阿里云的個(gè)人免費(fèi)的證書(shū)

給你的項(xiàng)目配置個(gè)https吧

 

因?yàn)槭褂玫氖莾?nèi)置的Tomcat,所以下載Tomcat類(lèi)型的

給你的項(xiàng)目配置個(gè)https吧

 

2.配置項(xiàng)目

將證書(shū)XXXX.pfx文件放到項(xiàng)目的resources目錄,接著修改Application.yml文件

server:
  port: 443
  ssl:
    key-store: classpath:XXXX.pfx
    key-store-password: 證書(shū)密碼
    keyStoreType: PKCS12

接著修改啟動(dòng)類(lèi),添加如下內(nèi)容,接著啟動(dòng)項(xiàng)目

import org.Apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.context.annotation.Bean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@SpringBootApplication
public class MxemApplication implements EmbeddedServletContainerCustomizer {
    //攔截所有請(qǐng)求
    @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;
    }

    //配置http轉(zhuǎn)https
    @Bean
    public Connector httpConnector() {
        Connector connector = new Connector(TomcatEmbeddedServletContainerFactory.DEFAULT_PROTOCOL);
        connector.setScheme("http");
        //Connector監(jiān)聽(tīng)的http的端口號(hào)
        connector.setPort(80);
        connector.setSecure(false);
        //監(jiān)聽(tīng)到http的端口號(hào)后轉(zhuǎn)向到的https的端口號(hào)
        connector.setRedirectPort(443);
        return connector;
    }

    //這里設(shè)置默認(rèn)端口為443,即https的,如果這里不設(shè)置,會(huì)https和http爭(zhēng)奪80端口
    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {
        container.setPort(443);
    }
}

3.可能出現(xiàn)的問(wèn)題

可能會(huì)出現(xiàn)下面的錯(cuò)誤

Address already in use: bind

解決辦法

以windows系統(tǒng)為例,查看當(dāng)前端口被哪個(gè)進(jìn)程占用了(進(jìn)入到CMD中)

netstat -ano|findstr "443"

然后找到進(jìn)程ID,使用任務(wù)管理器結(jié)束此進(jìn)程即可。

如果對(duì)你有幫助,還請(qǐng)點(diǎn)個(gè)贊,點(diǎn)個(gè)關(guān)注

分享到:
標(biāo)簽:https
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定