일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩테스트 준비
- JavaScript
- jwttoken
- infcon 2024
- 1주일회고
- 빈 충돌
- 취업리부트코스
- 개발자 취업
- KPT회고
- jwt
- 빈 조회 2개 이상
- 프로그래머스 이중우선순위큐
- Spring multimodule
- @FeignClient
- 전략패턴 #StrategyPattern #디자인패턴
- 디자인 패턴
- 항해99
- 99클럽
- 단기개발자코스
- 인프콘 2024
- 개발자부트캠프추천
- DesignPattern
- 커스텀 헤더
- 프로그래머스
- 구글 OAuth login
- 파이썬
- spring batch 5.0
- 디자인패턴
- Python
- TiL
- Today
- Total
m1ndy5's coding blog
Let’s Encrypt사용해서 https 설정하기 & redirection(ubuntu 18.04 기준) 본문
SSL, TSL, HTTPS 란?
- SSL : 웹사이트와 브라우저 사이(또는 두 서버 사이)에 전송되는 데이터를 암호화하여 인터넷 연결을 보호하기 위한 표준 기술 -> 해커가 개인 데이터나 금융 데이터 등의 전송되는 정보를 보거나 훔치는 것을 방지
- TSL : SSL의 향상된, 더욱 안전한 버전. SSL이 더욱 일반적인 용어이기 때문에 DigiCert는 보안 인증서를 여전히 SSL로 언급하지만 DigiCert에서 SSL을 구입하면 가장 신뢰할 수 있는 최신 TLS 인증서를 얻을 수 있음.
- HTTPS : 웹사이트가 SSL/TLS 인증서로 보호되는 경우 HTTPS가 URL에 표시됨. 사용자는 브라우저 표시줄의 자물쇠 기호를 클릭해 발급 기관 및 웹사이트 소유자의 상호를 포함한 인증서의 세부 정보를 볼 수 있음.
1. Cerbot 설치
업데이트 및 저장소를 만들어 준다.
$ 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
2. Nginx 설정
$ sudo vi /etc/nginx/sites-available/default
기존 80포트에 연결되어 있는 서버를 내 도메인으로 바꿔준다. ex) server_name m1ndy52.shop
설정이 완료되었다면 esc를 누르고 :wq! 를 입력후 저장하고 나간다.
$ sudo nginx -t
$ sudo service nginx reload
위의 명령어를 통해 nginx를 재시작 해준다.
3. SSL 인증 받기
$ sudo certbot --nginx -d m1ndy52.shop -d www.m1ndy52.shop
위의 명령어를 통해 ssl 인증을 받고 싶은 도메인을 입력한다.
여러개를 받고 싶은 경우 -d domain1 -d domain2 ... 이런식으로 입력하면 된다.
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
- http로 들어온 접근을 https로 리다이렉션 해주지 않습니다.
- http로 들어온 모든 접근을 https로 리다이렉션 해줍니다.
나는 http로 들어온 접근들도 모두 https로 바뀌길 바래서 2번을 선택하였다.
Cerbot을 설치할 때 /etc/cron.d에 인증서를 계속 갱신하는 커멘드가 추가 되어있어 자동으로 갱신을 해준다.
갱신이 잘 되는지 확인하려면
$ sudo certbot renew --dry-run
을 통해 확인해보면 된다.
4. EC2에서 인바운드 규칙 443포트 열어주기
https는 기본적으로 443포트를 사용하기 때문에 이를 열어주는 규칙을 추가해야한다.
ec2 -> 인스턴스 -> 보안 -> 보안 그룹 -> 인바운드 규칙 편집을 눌러 위 사진과 같은 규칙을 추가해주고 저장한다.
이제 마지막으로 https가 잘 적용됐는지 확인해보자!
https://www.ssllabs.com/ssltest/
SSL Server Test (Powered by Qualys SSL Labs)
SSL Server Test This free online service performs a deep analysis of the configuration of any SSL web server on the public Internet. Please note that the information you submit here is used only to provide you the service. We don't use the domain names or
www.ssllabs.com
위 사이트에 들어가서 https를 적용한 도메인을 입력하고 확인해보자
이렇게 뜨면 성공이다!!
5. IP로 접속했을 때 도메인으로 리다이랙션 하기
/etc/nginx/sites-available/default 파일 밑에
server {
listen 80;
server_name xx.xx.xx.xx;
return 301 https://domain.xxx/$request_uri;
}
을 넣어주면 xx.xx.xx.xx로 접속했을 때 도메인으로 리다이랙션이 이루어진다.
'settings' 카테고리의 다른 글
Spring Database 민감 정보 숨기기(.properties .yml) feat. USERNAME (0) | 2023.06.16 |
---|---|
변경 사항이 잘 적용되지 않을 때?! 캐시 삭제 및 강력 새로고침을 사용해보자!! (0) | 2023.02.13 |
가비아와 EC2 도메인 연결하기 (0) | 2023.02.13 |
DataGrip을 사용해 MySQL외부에서 접속하기 (0) | 2023.01.30 |
ubuntu 18.04 기준 Linux, Nginx, MySQL, PHP (LEMP 스택) 구축하기 (0) | 2023.01.29 |