AWS EC2 서버 구축 - 2
*22년도 4월에 Ubuntu 18.04 버전으로 구축했던 서버
*빨간 부분들은 잘못 진행한 걸로 추정되는 부분들입니다
4. Domain 적용 (가비아, 후이즈 등..에서 구입)
- 가비아 사이트에서 server1mia.co.kr 사이트의 도메인을 구입하고, DNS 설정→레코드 수정 진행
A타입: IPv4주소, AAAA=IPv6@: 앞에 아무것도 안 넣었을 때 ex) naver.com
TTL: Time To Live
www: 앞에 www를 넣으면 접속 가능
- 주소 앞에 www를 넣었을 때도, 아무것도 넣지 않았을 때도 정상적으로 페이지가 출력된다
5. HTTPS 적용 (let's encrypt)
- 참고 블로그:https://gorokke.tistory.com/216
Let's Encrypt: 사용자에게 무료로 TLS 인증서를 발급해주는 비영리기관. 30일간 유효한 인증서이므로 '자동갱신' 설정을 해주는 것이 좋음
웹 서버에서 암호화된 HTTPS를 사용할 수 있음 사용자에게 Certbot라는 소프트웨어를 제공함으로써 구현할 수 있게 함
AWS EC2 인스턴스는 방화벽이 비활성화 되어 있어, HTTPS 방화벽 허용이 필요하지 않음
1) AWS EC2 보안 인바운드 규칙 추가
2) Certbot 설치 - 이 코드가 아니었다.. 맞는 코드는 "7-2)"번에
//Certbot 패키지 최신버전으로
$ sudo apt update
$ sudo apt upgrade
$ sudo add-apt-repository ppa:certbot/certbot ->실행안됨
//Certbot Nginx 패키지 설치
$ sudo apt install python-certbot-nginx
3) Nginx Config 설정 - 필요하지 않은 코드였다..
//Nginx 기본 설정 파일 인증서 적용할 도메인 이름 설정
$ sudo vim /etc/nginx/sites-available/default
// /etc/nginx/sites-available/default
(try_files #=$uri $uri/ =404;부분은 주석처리)
1) server_name _; 에서 언더바_ 를 지우고 본인의 가비아 주소를 입력
2) location / { 안쪽에 다음과 같이 입력 :
proxy_pass http://localhost:8080;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
4) 테스트 및 적용 - 필요하지 않은 코드였다..
//저장하고 빠져나와서 nginx 테스트-'systax is ok', 'is successful'이 나와야 함
$ sudo nginx -t
//문제가 없다면 설정 파일 적용을 위해 Nginx 를 다시 로드
$ sudo systemctl reload nginx
5) https://www.ssllabs.com/ssltest/에서 적용 결과 확인
- 두 웹페이지 모두 잘 적용되지 않음 (A가 나와야 하는 거였음..)
6. Sub Domain 적용 (Dev, Prod)
7. Redirection 적용 (IP to Domain)
- 223.130.195.95 IP를 url창에 입력하면 네이버 사이트 뜨는 식으로, IP 입력 시 도메인주소창이 뜨게 하기.
그리고 http로 url창에 입력 시에도 https로 뜨게 하기
1) Nginx 구성 파일 편집 - 1) 전체가 잘못된 것 같다
https://nuggy875.tistory.com/119, https://ndb796.tistory.com/341 참고





//https://nuggy875.tistory.com/119 참고해서 이 코드들이 빠진거구나 싶어서 넣고 다시 nginx를 restart했는데도 안된다..
$ sudo apt-get install letsencrypt -y
$ sudo apt install snapd
$ sudo snap install hello-world
$ sudo snap install --classic certbot
- '사이트에 연결할 수 없음' 이라는 오류를 해결할 수 없었다...

2) 결국..... 인스턴스부터 다시만들기
*호스팅도 따로 결제해야 하는 줄 알고 miaserver.shop 도메인을 또 구매했다..
가비아 사이트의 경우, DNS 설정→'레코드 수정'에서 IP를 변경하면 된다)
- IP: 3.35.16.87로 변경
- https://certbot.eff.org/instructions?ws=nginx&os=ubuntubionic 공식사이트 참고해서 certbot 설치
//certbot 설치
$ sudo snap install --classic certbot
//Certbot command 준비
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
//Certbot 인증서 발급-메일주소입력, 약관동의, 도메인주소 2가지 모두 입력
sudo certbot --nginx