9/13 TIL 도메인 ,http, https로 접속하기

이승준·2023년 9월 14일
0
post-thumbnail

🤔배포한 사이트를 도메인 달기

  • 가비아 사이트를 이용해서 도메인을 구입했다
  • 유료여서 방법은 간단했다
  • 구입하고 ec2 public IP 주소를 넣어주면 된다.

🤔http 접속하기!

  • 일단 EC2 보안그룹 에서 80포트 열어주기!
  • 도메인 열기전에도 EC2의 Elastic IPs는 등록해야한다
  • ec2가 껐다가 켜지면 Public ip는 바뀌기 때문에
  • sudo apt-get install nginx -y nginx 설치
  • Ngnix 설치와 함께 자동으로 80포트와 연결
  • 이때부턴 도메인뒤에 포트번호를 붙일 필요가 없다.

nginx 파일설정

  • NGINX 기본 설정은 /etc/nginx/sites-available/default 파일에 설정되어 있습니다.
# 운영 환경에서 api를 호출할 경우, 8080포트의 WAS를 호출
server {
    listen 80;
    server_name richplace.ga www.richplace.ga;

    location /api {
        proxy_pass http://127.0.0.1:8080;
    }
}

# 개발 환경에서 api를 호출할 경우, 9090포트의 WAS를 호출
server {
    listen 80;
    server_name dev.richplace.ga;

    location /api {
        proxy_pass http://127.0.0.1:9090;
    }
}

# 즉 proxy_pass 에 있는 내용을 같은 VPC내 있는 
# 다른 EC2의 private IP:port 를 명시하면 리버스 프록시 완료!

certbot을 이용해 SSL 적용

# certbot을 snap 명령어로 설치, 실행하기 때문에 snap을 먼저 설치한다
sudo snap install core
sudo snap refresh core

# 기존에 설치된 certbot을 제거한다
# 공식 가이드에선 certbot명령어를 사용할 때 snap이 사용되게 하기 위함이라고 설명한다
sudo apt-get remove certbot

# certbot을 설치한다
sudo snap install --classic certbot

# certbot 명령어가 실행될 수 있게 세팅한다
sudo ln -s /snap/bin/certbot /usr/bin/certbot

# nginx가 아닌 apache를 웹서버로 사용할 경우, sudo certbot --apache 가 된다
sudo certbot --nginx -d richplace.ga -d www.richplace.ga -d dev.richplace.ga

# 놀랍게도 certbot은 CLI몇 줄로 SSL을 적용해줄 뿐 아니라 자동 리뉴얼까지 해준다;
# 처음 설치할 때부터 이러한 cron job 처리를 위한 내용이 함께 들어온다
# 아래 명령어로 자동 리뉴얼이 적용되고 있는지 확인할 수 있다
sudo certbot renew --dry-run

명령을 세팅하면 ngnix파일이 자동으로 443포트와 연결되는 것으로 바뀐다.

배포..참 어렵다

0개의 댓글