728x90
반응형
안녕하세요 나정입니다.
작년부터 인수인계 받은 중계 서버가 jetty로 구동되면서 요즘 jetty config 및 설정방법을 많이 찾아보는중인데요
http -> https 로 redirect 해주는 간단한 class가 있어 공유하고자 적어봅니다.
org.eclipse.jetty.server.handlers.SecuredRedirectHandler
SecuredRedirectHandler
해당 class는 최근 9.2xxx version부터 사용가능해보이더라구요. 원래 redirect해주려면 tomcat은 좀 귀찮았는데 여긴 뭐 class 하나만 쓰면되니까 개꿀 ...
사용방법은 간단하게 아래와 같아요.
아 참고로 HandlerCollection에 넣어줄때 다른 handler보다 첫번째로 넣어줘야 https로 변환됩니다.
안그럼 적용이 안되는거 같더라구요 .
일단 제 로직 기준으로 ㄱㄱ
server = new Server(); HandlerCollection handlers = new HandlerCollection(); if(redirectSuites){ handlers.addHandler(new SecuredRedirectHandler()); // 이렇게 넣어줘용! } String dtiPath="" ; String dtiWarPath=""; logger.info("**********************************************"); for (Path path : finder.getPaths()) { String fileName = path.getFileName().toString(); //System.out.println(fileName); logger.info("file : {}", fileName); Pattern p = Pattern.compile("^\\w+(?=[-.*|\\.])"); Matcher m = p.matcher(fileName); while (m.find()) { String extractWarDirName = ""; String contextName = m.group(); logger.info("* application : {}, context path : {}", contextName, contextName); WebAppContext webapp = new WebAppContext(); webapp.setContextPath("/" + contextName); webapp.setWar(path.toAbsolutePath().toString()); WebAppClassLoader loader = new WebAppClassLoader(webapp); Resource jars = Resource.newResource( System.getProperty("NAJUNG_HOME") + File.separator + "lib"); loader.addJars(jars); webapp.setClassLoader(loader); extractWarDirName = System.getProperty("java.io.tmpdir") + "NAJUNG" + File.separator + "jetty-0.0.0.0-" + connector.getPort() + "-" + fileName + "-" + UUID.randomUUID(); //System.out.println("fileName = " + fileName); webapp.setTempDirectory(new File(extractWarDirName)); System.out.println("war extract target directory : " + extractWarDirName); handlers.addHandler(webapp); // 여긴 뭐 기존 서비스 배포 WAR 파일관련 webbapp넣어주는 로직 } server.setHandler(handlers); // 적용된 handler를 server에 넣어준 뒤 server.start(); // 서버 시작~ server.join(); |
이렇게 사용하면 http://najungis.tistory.com/53 으로 접근하면 https://najungis.tistory.com/53으로 이동됩니다.
매우 쉽쥬 .. jetty 굳굳
속도도 더 빠르고 너란녀석.. 맘에들어
728x90
반응형
'나정이의 공부 > IT' 카테고리의 다른 글
vue.js 인스턴스 라이프 사이클 정리 ( ++ created,beforeCreate,mounted ... 등등 ) (0) | 2021.06.24 |
---|---|
해시(Hash) 인덱스 정리 (0) | 2021.06.24 |
MultipartFile 이미지를 binary로 변환, 출력하기! (0) | 2021.06.23 |
mod.jk를 이용하여 Apache2 + tomcat 다중 연동 배워보기 ! (0) | 2021.04.08 |
[클라우드] EC2를 이용한 서버 구축 실습 (0) | 2021.04.08 |