[Mlog] 나만의 블로그 만들기 - 도메인 설정 및 HTTPS 적용

노의빈·2023년 10월 17일
0

Mlog

목록 보기
10/13

📌 가비아에서 도메인 발급

도메인 발급 및 연결은 아래 게시물을 참고하여 진행하였다.
https://developer-ping9.tistory.com/320

📌 SSL 인증서 발급

HTTPS 적용을 위해 SSL 인증서 발급을 받아야한다.
SSL 인증서 발급을 위해 Certbot을 이용하였다.
아래의 절차를 따른다.

  1. snap 업데이트
$ sudo snap install core; sudo snap refresh core
  1. 기존 certbot 제거 후 snap을 이용해 다시 설치
$ sudo apt-get remove certbot
$ sudo snap install --classic certbot
  1. bin 폴더로 심볼릭 링크 걸기
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
  1. certbot으로 인증서 발급
$ sudo certbot --nginx
  1. /etc/nginx/sites-available 수정
    아래의 내용처럼 수정한다.
# 1)
server {
  listen 80; # 80포트로 받을 때
  server_name [도메인주소];
  return 301 https://[도메인주소]$request_uri;

}

# 2)
server {
  listen 443 ssl http2;
  server_name [도메인주소];

  # ssl 인증서 적용하기
  ssl_certificate /etc/letsencrypt/live/[도메인주소]/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/[도메인주소]/privkey.pem;

  location / {
          proxy_pass http://localhost:3000;
  }
  location /api {
          proxy_pass http://localhost:8080;
          charset utf-8;
          proxy_redirect off;

          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-NginX-Proxy true;
          proxy_set_header X-Forwarded-Proto $scheme;
  }
}

# 3)
server {
    if ($host = [도메인주소]) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

  listen 80;
  server_name [도메인주소];
    return 404; # managed by Certbot
}

이제 연결이 완료되었다.

참고: https://velog.io/@coastby/Nginx-SSL-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0

profile
백엔드 공부 중입니다.

0개의 댓글