반응형

일반적인 로컬 환경에서는 가능한데 각자의 서버에서는 안되는것 중에 하나가 일반적이 각자의 서버(http 환경)로 구등해서 접속해서 움직이면 쿠키를 저장하는것이 불가능하다.

로컬(localhost)에서는 일반적으로 http를 사용해도 백엔드에서 보내주는 세션에 대한 정보를 저장하는것이 가능했는데

그것을 192.168.0.x와 같이 각자의 ip주소로 서버에 접속해서 로그인을 시도, 세션 데이터를 쿠키로 받는 경우에는 https와 같은 통신의 인증과 암호화가 되어야지 쿠키 데이터를 저장하는 것이 가능하다.

그렇기 때문에 서버에 https를 적용해보기로 했다.


https에서 알아보니 https를 적용시키는 방식은

  1. SSL/TLS인증서 획득
  2. Tomcat 설정 하기
  3. Tomcat 재시작

와 같은 방식으로 동작을 하게된다.

SSL/TLS인증서중에 무료로 사용할수 있는 let's encrypt를 사용하기 위해 certbot을 다운받아서 인증서를 획득 해보았다.

linux 서버의 경우

sudo apt-get update
sudo apt-get install certbot

 

를 이용해서 certbot을 인스톨해준뒤 

sudo certbot certonly --standalone

 

을 입력하게되면 몇몇개의 질문을 한 뒤에 인증서를 /etc/letsencrypt/live/your-domain/ 에 저장시켜 준다.

your-domain 은 실제 도메인으로 대체되어야 한다.

그러고 난뒤

아파치 톰캣 폴더 아래에 있는 conf 폴더 안에 있는 server.xml에

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true">
   <SSLHostConfig>
       <Certificate certificateKeyFile="/etc/letsencrypt/live/your-domain/privkey.pem"
                    certificateFile="/etc/letsencrypt/live/your-domain/fullchain.pem"
                    certificateChainFile="/etc/letsencrypt/live/your-domain/chain.pem" />
   </SSLHostConfig>
</Connector>

와 같은 설정 부분이 추가 한뒤

 

Tomcat을 재 시작한뒤 8443포트에 접속하게 되면 https을 적용할수 있게 된다.


window에서 동작하는 프론트 엔드 서버에서도 똑같은 방식으로 톰캣에 적용시키면 문제없이 동작 가능하다.

 

 

Certbot

Tagline

certbot.eff.org

에 접속해서 

를 입력하면 자세한 설명이 나와있기에 따라 하면 된다.

반응형

+ Recent posts