2023.06.01 도메인 배포 및 nginx 설정

이무헌·2023년 7월 21일
0

AWS

목록 보기
2/3
post-thumbnail

1.도메인 구입 및 aws 인스턴스 연결하기

1.aws에서 탄력 ip 구입

2.할당 받은 ip 확인

3.aws에서 route53 에 들어가서 새로운 DNS생성

  • 도메인 이름에 구입한 도메인의 주소를 입력한다.

4.생성된 호스팅영역에서 새로운 레코드 생성

5.유형이 A인 레코드 생성

6.유형이 CNAME인 레코드를 생성함으로서 www로 접속할 때 정해진 도메인으로 들어오도록 하자(서브 도메인)

7.자신이 구입한 도메인 사이트에 가서 NS(네임서버)를 변경하자

  • 저기 NS에 적힌 4개의 주소를

  • 해당 도메인 홈페이지에서 네임서버를 변경해주는 곳에 가서 변경해주자

끝!

2.nginx로 https설정하기(certbot)

  • nginx설치 및 설정
    aws 인스턴스 접속하고
    nginx설치
    
    sudo apt install nginx
    
    nginx 시작
    sudo service nginx start
    
    nginx 상태 확인
    sudo service nginx status
    
    nginx 종료
    sudo service nginx stop
  • nginx의 default설정 변경하기
    웹사이트 호스팅을 할 때 설정에 대한 값이
    default 파일이 생성이됩니다.
    cd /etc/nginx/sites-enabled
    
    default 파일은 가상 호스트 설정 파일
    설정파일 수정
    
    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        #try_files $uri $uri/ =404;
    
        proxy_set_header HOST $host;
        proxy_pass http://127.0.0.1:8080;
        proxy_redirect off;
    }
    💡 proxy_set_header 부분은 요청이 들어온 브라우저의 host내용을 넘겨준다는 뜻 proxy_pass 80으로 포트를 듣고 들어온 요청을 8080포트로 전달하겠다는 뜻 proxy_redirect off는 SPA일 경우 redirect 없애겠다는 위미 spa가 아니면 굳이 써줄 필요는 없다. spa 싱글페이지 어플리케이션만!
  • 점검하기
    설정파일을 수정했으면
    설정 파일이 정상적인지 확인을 먼저 해주자
    문법에 오류가 있는지 체크
    sudo nginx -t
    
    이제 재실행
    sudo service nginx restart
  • https 발급받기
    https 로 보안이슈 해결
    검증된 사이트라는 것이고
    https요청할 때 인증서를 발급받아서 인증을 요청을 하는데
    https 설정
    배포한 서버에 https를 설정해서 보안 이슈를 해결
    인증서를 발급받을곳은 무료로 인증서를 3개월짜리를 발급해주는 곳이 있는데
    3개월마다 재발급받아서 무제한으로 무료 이용
    모질라라는 곳에서
    
    certboot이라는 친구를 사용해서 https를 간편하게 설정 할 수 있다.
    3개월마다 우리가 직접 인증서를 재발급 받을 필요가 없이
    알아서 3개월마다 재발급 받고 우리 메일로 알려줌.
    nginx랑도 호환이 되는 갓 라이브러리=>간단하게 인증서 발급 및 갱신이 가능하다.
  • certbot으로 이용해 간편하게 발급 sudo snap install core; sudo snap refresh core
    • core를 설치하자

      sudo snap install --classic certbot

    • certbot을 설치하자

      certboot 실행파일에 링크 설정
      sudo ln -s /snap/bin/certboot/user/bin/certboot
      nginx관련 certbot 실행
      sudo certbot --nginx
    • 링크 설정을 한 후 certbot을 실행하자

    • 이메일 및 도메인을 입력하면 된다.

       3개월 마다 재발급을 해야하나?...
       sudo certbot renew <= 입력시 3개월마다 재발급됨
      
       인증서 재발급 신청 시뮬레이션 돌려보기
       sudo certbot renew --dry-run
    • 3개월마다 자동으로 재발급을 해주는 코드 및 재발급이 되는지 확인해주는 코드이다.

3.느낀점

💡 배포 후에 중요한 것 중 하나인 https설정을 해 주었다. 도메인은 과거에 해본적은 있지만 https는 ssl인증서를 직접 다운 받아서 인증해본적이 있어서 매우 어려울거라 예상했지만,… 라이브러리를 사용하니 굉장히 간편하게 됐다. 너무 간편하니 오히려 라이브러리의 원리를 정확히 이해하고 어떤 방식으로 동작되는지 공부해야함을 절실히 느끼는 시간이었다….
profile
개발당시에 직면한 이슈를 정리하는 곳

1개의 댓글

comment-user-thumbnail
2023년 7월 21일

좋은 글 잘 읽었습니다, 감사합니다.

답글 달기