Springboot 단일 구조 http 요청 변환 https 요청 으로 위 챗 애플 릿 호출 인터페이스 지원
3406 단어 Springboothttps애플 릿
1.말 이 많 지 않 으 면 바로 코드 를 올 립 니 다!
application.properties 프로필
#( , )
server.ssl.key-store= classpath: .pfx
#( )
server.ssl.key-store-password:123456
#( , )
server.ssl.key-store-type:PKCS12
인증 서 는 일반적으로 resources 디 렉 터 리 에 두 는 것 이 좋 습 니 다.다음 에 시작 클래스 RUN.자바 의 코드 를 설정 합 니 다.
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
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.EmbeddedServletContainerFactory;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
@SpringBootApplication
@EnableTransactionManagement
@EnableScheduling
public class Run{
public static void main(String[] args) throws Exception {
SpringApplication.run(Run.class, args);
}
/**
* it's for set http url auto change to https
*/
@Bean
public EmbeddedServletContainerFactory servletContainer(){
TomcatEmbeddedServletContainerFactory tomcat=new TomcatEmbeddedServletContainerFactory(){
@Override
protected void postProcessContext(Context context) {
SecurityConstraint securityConstraint=new SecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");//confidential
SecurityCollection collection=new SecurityCollection();
collection.addPattern("/*");
securityConstraint.addCollection(collection);
context.addConstraint(securityConstraint);
}
};
tomcat.addAdditionalTomcatConnectors(initiateHttpConnector());
return tomcat;
}
/**
* HTTP , HTTPS,
* application.properties connector,
* HTTP connector, HTTPS connector
* @return Connector
*/
private Connector initiateHttpConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(8084); // http ( )
connector.setSecure(false);
connector.setRedirectPort(8444); // application.properties https
return connector;
}
}
이상 코드 를 직접 가 져 가서 테스트 를 시작 합 니 다.http 포트 에 접근 할 수도 있 고 https 포트 에 접근 할 수도 있 습 니 다.
마지막 으로 작은 편집자 의 잘못 을 동봉 합 니 다.
코드 를 서버 에 포 장 했 지만 접근 할 수 없 었 습 니 다.나중에 야 서버 포트 번 호 를 설정 하 는 화이트 리스트 를 잊 어 버 렸 습 니 다.그 포트 번 호 를 연결 하면 됩 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.