티스토리 뷰

728x90

SSL의 인증서를 적용 한 경우 https로 접속을 해야한다. http로 접속을 한 경우에는 안전하지 않음이라는 경고가 url 옆의 창에 표시된다.

그러나 우리는 보통 url로 접속하는 경우 프로토콜을 명시해주는 경우가 거의 없이 www.naver.com 이런식으로 입력하여 접속한다.

프로토콜을 입력하지 않고 url만 입력해도 자동으로 https로 리다이렉트를 시켜주자.

1. web.xml 설정 추가

  <security-constraint>
    <web-resource-collection>
      <web-resource-name>HTTPSOnly</web-resource-name>
      <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
      <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
  </security-constraint>

2. 톰캣 server.xml 수정

tomcat하위의 conf 폴더의 server.xml을 열어 아래와 같이 수정해준다.

vi /tomcat/conf/server.xml

8080 포트로 들어오는 경우 443포트로 리다이렉트 시켜준다.

<Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="443"/>

나는 리눅스에서 iptables를 사용하여 포트 80으로 들어오는 경우 8080으로 포트포워딩, 포트 443으로 들어오는 경우 포트 8443으로 포트포워딩을 해놓은 상태이다.

따라서 유저는 http://localhost로 입력하면(http의 기본 포트는 80) 리눅스에 의해 localhost:8080으로 포트포워딩이 되고
이후 톰캣을 통해서 localhost:443으로 리다이렉트 된다. 그리고 다시 리눅스에 의해서 localhost:8443으로 포트포워딩이 된다.

 

👇🏼 포트포워딩 하는 이유와 방법이 궁금하다면 아래 참고

https://yes-admit.tistory.com/67

 

[centos7] iptables로 방화벽 관리 및 포트 포워딩 with docker

1. docker로 centos 환경 구성하기🐳 * --priviliged와 /sbin/init 옵션을 주지 않는 경우 systemctl명령어를 사용 할 때 아래와 같은 에러가 발생한다. Failed to get D-Bus connection: Operation not permitted #docker image 다

yes-admit.tistory.com

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함