이전글 : https://fishcoding.tistory.com/21?category=1002270
설치 후 http://도메인명/.well-known/pki-validation/받은파일명.txt 으로 확인하면
이런 식으로 확인하면 DCV 인증을 할 수 있다. 그 후 메일로 필요한 키가 날라오는데 CSR 생성 요청을 하지 않으면
“도메인명_NginX_cert.pem”용 인증서는 안나오는지 모르겠지만 만약 NginX_cert.pem 이 없다면 cat 명령어로 만들어 준다
(SSL인증서 > 중개인증서 > 루트인증서 순으로 나열하여 추가)
cat 도메인_cert.pem chanCA2.crt ChainXCA1.crt RootCA.crt >도메인명_NginX_cert.pem
그다음 openssl 명령어로 개인키를 제거해 준다
openssl rsa -in [생성한 개인키 파일명 및 경로] -out [비밀번호 개인키 파일명 및 경로]
저렇게 파일 2개가 만들어 지면 nginx config 로 들어가서 아래 사진처럼 셋팅해 준다
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_certificate /etc/nginx/certificate/nginx-certificate.crt;
ssl_certificate_key /etc/nginx/certificate/nginx.key;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}
위에 ssl_certificate 에는 도메인명_com_NginX_cert.pem 을 경로에 맞게 바꿔주면 되고
ssl_certificate_key 는 도메인명_NginX_nopass_key.pem 의 경로를 넣어준다.
나머지 세부설정은 뭔지 모른다. 그냥 똑같이 해주거나 상황에 따라 조금씩 바꿔준다.
2021-06-03 기준 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 부분을
ssl_protocols SSLv2 SSLv3 TLSv1.2 TLSv1.3; 으로 바꿔줬다.. 왜 바꿧는지는 기억이 안난다;;
HTTP접속을 HTTPS로 리다이렉션 시키기
HTTPS적용은 끝났지만 기존의 사용자들은 웹 접속 기록 때문에 여전히 http로 접근을 하게 됩니다. 따라서 http로 접속되는 세션들을 HTTPS로 리다이렉션을 시켜 주어야 합니다.
Nginx conf 파일 상단에 아래와 같은 코드를 적용하여 줍니다.
server {
listen 80;
server_name example.com;
return 301 HTTPS://$server_name$request_uri;
}
그후 nginx -s reload 명령어를 통하여 설정 파일을 로드 하여 줍니다.
및 사진부터는 세부설정 및 자주 발생하는 오류이다
참고 CNAME 인증방식 - https://fishcoding.tistory.com/85?category=1002270
'SSL 인증서 설치 방법' 카테고리의 다른 글
SECTOGO SSL 인증서 DNS 인증 방법 (0) | 2022.07.04 |
---|---|
[OPENSSL] key파일 생성 / 패스워드 생성, 제거, 확인 (0) | 2022.05.11 |
Lets' Encrypt 인증서 갱신하기 (centOS7 +nginx) (0) | 2021.07.28 |
SECTOGO SSL 인증서 설치 방법 #1(신청후 DCV 인증) (0) | 2021.06.01 |