티스토리 뷰

구조

  • client -> nginx -> WAS

이슈

  • PWA를 적용하기 위해서는 https를 적용해야하는 문제가 발생했습니다.
  • https를 적용하기 위해 certbot으로 SSL을 적용하려고 했으나, ip에는 SSL을 적용할 수 없었습니다.
    • 해결방안: sslip를 이용하여 ip를 domain처럼 속여 SSL을 적용

sslip 동작과정

  • 저는 xip.io의 DNS를 사용했습니다. 따라서 예제는 xip.io이지만 아래의 사이트에서 다른 DNS를 사용하는 걸 확인할 수 있습니다.
  • *.xip.io를 받아 domain처럼 바꿔줍니다.

sslip 적용

  • ip에 sslip.io에서 제공하는 DNS를 추가하여 domain처럼 인식하게 합니다.
  • 이제 domain처럼 사용할 수 있으니 SSL을 적용할 수 있습니다.

certbot 설치

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot python-certbot-nginx

certbot과 nginx 연결하기

sudo certbot certonly --nginx

nginx 설정에 SSL 적용하기

sudo vi /etc/nginx/conf.d/[생성할 파일 명].conf
server {
    listen       443 ssl;
    server_name  domain_ip;

    ssl_certificate /etc/letsencrypt/live/domain_ip/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/domain_ip/privkey.pem ;

    # 8000 port 요청을 받아서 WAS로 넘겨주기 위해 설정
    location / {
        proxy_pass http://localhost:8000;
    }
}

# redirect 설정
server {
    listen 80;
    server_name [domain_ip].xip.io www.[domain.ip].xip.io;
    return 301 https://[domain.ip].xip.io;
}

nginx 재시작

sudo service nginx restart

서버 실행하기

cd [project_name]
java -jar -Dserver.port=8000 build/libs/[jar_name].jar
  • 이제 해당 ip로 접속하면 https가 적용된 걸 확인할 수 있습니다.
    • ip는 xip.io와 같이 적용한 DNS를 url에 추가해주어야합니다.
      • ex) 123.123.123.123.xip.io
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
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
글 보관함