歡迎訪問昆山寶鼎軟件有限公司網站! 設為首頁 | 網站地圖 | XML | RSS訂閱 | 寶鼎郵箱 | 后臺管理
?

新聞資訊

MENU

軟件開發知識

使用Http 昆山軟件定制開發 s提供服務

點擊: 次  來源:寶鼎軟件 時間:2017-05-31

原文出處: 措施員趙鑫

本文先容如安在Spring Boot中,利用Https提供處事,勞務派遣管理系統,并將Http請求自動重定向到Https。

Https證書

巧婦難為無米之炊,開始的開始,要先取得Https證書。你可以向證書機構申請證書,軟件開發,也可以本身建造根證書。假如你對付Https的道理和證書建造還不清楚,可以看一下Https道理先容和廉價Https證書。

建設Web設置類

在代碼中建設一個利用了Configuration注解的類,就像下面這段代碼一樣:

@Configuration
public class WebConfig {
        //Bean 界說...
}

設置Https

在設置類中添加EmbeddedServletContainerCustomizer Bean,并在個中設置Https證書和端標語。

@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
    return new EmbeddedServletContainerCustomizer() {
        @Override
        public void customize(ConfigurableEmbeddedServletContainer container) {
            Ssl ssl = new Ssl();
            //Server.jks中包括處事器私鑰和證書
            ssl.setKeyStore("server.jks");
            ssl.setKeyStorePassword("123456");
            container.setSsl(ssl);
            container.setPort(8443);
        }
    };
}

設置Http使其自動重定向到Https

Embedded默認只有一個Connector,要在提供Https處事的同時支持Http,需要添加一個Connector。在設置類中添加如下設置:

@Bean
public EmbeddedServletContainerFactory servletContainerFactory() {
    TomcatEmbeddedServletContainerFactory factory =
        new TomcatEmbeddedServletContainerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                //SecurityConstraint必需存在,可以通過其為差異的URL配置差異的重定向計策。
                SecurityConstraint securityConstraint = new SecurityConstraint();
                securityConstraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                securityConstraint.addCollection(collection);
                context.addConstraint(securityConstraint);
            }
        };
    factory.addAdditionalTomcatConnectors(createHttpConnector());
    return factory;
}

private Connector createHttpConnector() {
    Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
    connector.setScheme("http");
    connector.setSecure(false);
    connector.setPort(8080);
    connector.setRedirectPort(8443);
    return connector;
}
,軟件開發
排列三305组选前后关系 七乐彩走势图近100期 十种投资理财产品 黑龙江快乐十分麻将走势图 有国家的投资平台吗 平特一肖加6计算公式 燕赵风采排列7开奖结果查询 股票配资 好运快3什么时候出来的 政府基金配资 香港挂牌彩图正版2019