2019. 7. 17. 15:19ㆍOS & Server/Linux
Nginx Web Server를 SSL을 설정하여 https로 만들기 위해서는 Apache처럼 인증서파일을 하나씩 명시할 수 없기 때문에, 하나의 파일로 합쳐야 합니다.
저는 주로 Gabia(가비아)사의 도메인과 인증서를 애용하기 때문에, 가비아를 예시로 들겠습니다.
타사는 좀 잘 나와있는반면 가비아의 경우 홈페이지에도 언급되어 있지 않고,
블로그들도 언급되어 있지 않았고 다 비슷하긴하나 파일명이 달라 헷갈리는 경우가 많아서 ㅂㄷ..
가비아의 경우 SSL을 구매하고 인증을 한 뒤 메일로 발급된 파일은 2개의 압축파일을 제공합니다.
RootCA_ChainCA.zip
example.co.kr.zip
이렇게 두가지의 압축파일을 제공해줍니다.
RootCA_ChainCA.zip파일을 압축해제 할 경우, 다음과 같이 루트 인증서와 체인 인증서의 파일로 총4개의 파일을 뱉어냅니다.
- Chain_RootCA_Bundle.crt
- ChainCA1.crt
- ChainCA2.crt
- RootCA.crt
사용되는 파일은 Chain_RootCA_Bundle.crt, RootCA.crt만 있으면 되는데, 그렇다고 버리면 안됩니다.
마찬가지로 다른 압축파일인 도메인 인증서가 포함된 example.co.kr.zip 을 해제하면
- example_co_kr_cert.pem
- example_co_kr_csr.pem
을 뱉어내는데, 여기서 필요한건 example_co_kr_cert.pem 파일 입니다.
이제 이 필요한 3파일을 하나로 병합해주면되는데, 병합하기전에 반드시 지켜야할 관문이 있습니다.
순서는 반드시 지켜져야 하며, 순서는 다음과 같습니다.
- example_co_kr_cert.pem [도메인 인증서]
- Chain_RootCA_Bundle.crt [체인 인증서]
- RootCA.crt [루트 인증서]
리눅스는 cat 명령을 통해 합치면 되고, Windows는 그냥 메모장으로 열어서 해도됩니다.
ubuntu@nginx$ : cat example_co_kr.cert_pem Chain_RootCA_Bundle.crt RootCA.crt > bundle.pem
리눅스 cat 명령으로 작성할 경우 반드시 확인해야 할 사항이 존재하며, 다음 명령을 입력하여 확인해보면,
cat bundle.pem
-----END CERTIFICATE----------BEGIN CERTIFICATE-----
이런식으로 CERTIFICATE가 붙어있는 구간이 있는데, 이것을 반드시 다음과 같이 개행을 줘야합니다.
파일을 Read할때 Readline으로 불러오는것 같네요.
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
이제 다음과 같이 nginx에서 설정을 해준 뒤 nginx를 재시작 해주면 ssl이 적용됩니다.
server {
listen 443 ssl;
server_name example.co.kr;
charset utf-8;
ssl_certificate /ssl/bundle.pem
ssl_certificate_key /ssl/private.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
location / {
...
}
}
service nginx restart
'OS & Server > Linux' 카테고리의 다른 글
vmware workstation에 Core OS 설치하기 (0) | 2019.11.15 |
---|---|
ubuntu 18.04 LTS tar 1.30 download & install (0) | 2019.08.12 |
리눅스에서 하위폴더를 포함한 파일 내용 검색할때, 특정 디렉터리 제외하기 | grep (0) | 2018.09.28 |
안드로이드 7.1 (Nougat) OS PC에 설치하기 | 네이버 스마트 보드 설치! (0) | 2018.03.25 |
Kali Linux 2018.1 Vmware에 설치하고 한글 설치 및 설정하기! (0) | 2018.02.18 |