반응형
예전에 프로젝트 하면서 https인증까지 공부하면서 인증서 발급까지 받았는데 3개월이 지나서 재갱신 할겸 SSL 인증받은 걸 정리해 보겠습니다. Aws Ec2 ubuntu에서 nginx을 통해서 인증서를 적용시키려 합니다. 인증서를 발급 받기 전에 먼저 도메인을 구매하셔야 발급 받을 수 있으니 ip밖에 없다면 먼저 도메인을 연결하고 인증하시면 됩니다.
SSL 인증서 발급 받기
1. letsencrypt 설치
$ sudo apt-get update
$ sudo apt-get install letsencrypt -y
2. Nginx 중지
인증서를 발급/재발급 받기 위해서는 nginx: 80포트에서 돌아가고 있는 것을 중지 시켜주셔야합니다.
$ sudo systemctl stop nginx
3. 인증서 발급받기
# sudo letsencrypt certonly --standalone -d [도메인 입력] // www.example.com
- 알람 받을 이메일을 입력해줍니다. ex) example12@gmail.com
- 동의 해줍니다. a입력
- EFF의 소식을 이메일로 받을지 선택합니다.
그러면 정상적으로 인증서 키를 받은것을 확인 할수 있습니다.
/etc/letsencrypt/live/도메인/fullchain.pem, /etc/letsencrypt/live/도메인/privkey.pem
4. nginx설정하기
$ sudo vim /etc/nginx/sites-available/default
이경로에 접속해서 vim editor를 사용해서 default파일을 수정해줍니다.
server {
...
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_certificate /etc/letsencrypt/live/도메인/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/도메인/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
...
}
인제 받은 인증서키를 넣어주고 listen 443 ssl default_server;, listen [::]:443 ssl default_server; 앞에 있는 #을 지워줍니다.
5. aws 443port 열어주기
6. 80port 443port로 redirect
server {
listen 80;
server_name example.com;
root html;
location / {
return 301 https://example.com$request_uri;
}
}
/etc/nginx/sites-available/default 경로를 vim에디터로 다시 킨다음 맨 아래에 위에 코드 작성하고 저장하고 나옵니다.
7. nginx 재시작
$ sudo service nginx restart
// 에러가 있는지 상태 확인
$ sudo service nginx status
8. 재발급
$ sudo certbot renew
반응형
'coding > AWS' 카테고리의 다른 글
AWS CloudWatch를 사용하여 CPU 사용률 모니터링 (1) | 2023.03.13 |
---|---|
[AWS]Mac에서 AWS EC2 Express 연결(3) (0) | 2022.03.09 |
[AWS]Mac에서 AWS EC2 Express 연결(2) (0) | 2022.03.09 |
[AWS]Mac에서 AWS EC2 Express 연결(1) (0) | 2022.03.09 |
댓글