筆記-域名配置和Springboot Https配置

一、域名配置

我是在阿里雲萬網購買的域名,購買了域名後,進入控制檯,域名部分;點擊“解析”;

域名解析
“添加記錄”,A類,普通IPV4的地址;主機記錄隨便定義,習慣“www”;記錄值:服務器對應的公網IP。保存->配置成功
訪問URL:主機記錄+域名+端口+url

二、springboot+tomcat https配置

1)、https配置

  1. 首先在阿里雲申請SSL證書,有免費版本
  2. 購買之後,綁定之前申請的域名
  3. 審覈完成後,下載證書,tomcat版
  4. springboot配置:將pfx文件放入resources目錄下
  5. 配置xml文件:key-store-password:pfx-password.txt內容xml配置

2)、http轉發https

package com.twenty.percent.server.config;
import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.coyote.http11.Http11NioProtocol;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
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;

/**
 * @Description: 配置https
 * @Author: zx
 * @Time: 2020-03-16 15:03
 **/
@Configuration
public class ConnectorConfig {

	//http
    @Value("10443")
    private int serverPortHttp;

	//https
    @Value("${server.port}")
    private int serverPortHttps;

    @Bean
    public ServletWebServerFactory servletWebServerFactory() {
        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                SecurityConstraint securityConstraint = new SecurityConstraint();
                securityConstraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection securityCollection = new SecurityCollection();
                securityCollection.addPattern("/*");
                securityConstraint.addCollection(securityCollection);
                context.addConstraint(securityConstraint);
            }
        };
        factory.addAdditionalTomcatConnectors(redirectConnector());
        return factory;
    }

    private Connector redirectConnector() {
        Connector connector = new Connector(Http11NioProtocol.class.getName());
        connector.setScheme("http");
        connector.setPort(serverPortHttp);
        connector.setSecure(false);
        connector.setRedirectPort(serverPortHttps);
        return connector;
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章