DEV/various knowledge
[web] HTTPS 적용하기
뚜비두빱
2022. 2. 13. 23:33
구성 환경
→ Microsoft Azure 가상머신
→ Ubuntu 18.04.5 LTS
→ nginx/1.14.0 (Ubuntu)
- Let's encrypt git 프로젝트 복사
git clone <https://github.com/letsencrypt/letsencrypt>
- let's encrypt 프로젝트로 이동
cd letsencrypt
- let’s encrypt 실행
sudo ./letsencrypt-auto certonly --manual --email [이메일 주소] -d [사용할 도메인주소]
여기까지 정상적으로 진행시
Create a file containing just this data:
해시값
And make it available on your web server at this URL:
<http://도메인/.well-known/acme-challenge/해시값>
위와같은 메시지가 뜨는데, 도메인뒤에 /.well-konown ~ 과 같은 경로에 파일을 넣어줘야한다.
정상 작동시 Congraturation! 과 함께 인증서 파일이 생긴다. 경로는 /etc/letsencrypt/live/도메인/
- Nginx 설정
기본 설정이라면 /etc/nginx/sites-available 에 있는 default 파일 수정
server {
listen 80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name 도메인;
ssl_certificate /etc/letsencrypt/live/도메인fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/도메인/privkey.pem;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ =404;
}
location ~ /\\.well-known/acme-challenge/ {
allow all;
root /var/www/letsencrypt;
}
}
4.5 nginx service restart
- Azure 사이트 → 가상머신 → 가상머신이름 → 설정 → 네트워킹 → 인바운트 포트 규칙 추가 → 443번 포트추가
- crontab을 이용한 자동갱신
LetsEncrypt 무료 SSL인증서 적용 및 자동 갱신하기
출처 :
https://nhj12311.tistory.com/250