NGINX SSL 인증서 등록

2024. 2. 8. 15:03·Linux
목차
  1. NGINX 기본 정보
  2. NGINX 설정 방법
  3. NGINX 인증서는?
  4. NGINX 인증서 합치기
  5. NGINX 합쳐진 인증서 확인
  6. NGINX 인증서 이동
  7. NGINX SSL 적용 설정
  8. 이후 서비스를 재기동하면 정상적으로 인증이 되었을 것이다.
  9. Reference
728x90

NGINX 기본 정보

  • NGINX 설치 경로: /appstore/webserver/nginx-woni
  • NGINX SSL Directory: /appstore/webserver/nginx-woni/ssl
  • NGINX 설정 파일: /appstore/webserver/nginx-woni/conf/site_aveliable/dev-wonipage.conf

NGINX 설정 방법

SSL 인증서는 NGINX, APACHE 발급 방식이 다르다.

Nginx는 SSLCACertificateFile이라는 지시자를 사용하지 않고,

Apache는 SSLCACertificateFile이라는 지시자를 사용한다. 

 

보통 업체를 통해 인증서를 발급받을 때 어떤 웹서버(Apache, Nginx)를 이용하는지 말하고 발급받으면 된다.

만약 Let's Encrypt 인증서로 발급 받을 예정이라면 하단 레퍼런스에 참고 문서를 넣어두었다.

그리고 NGINX에 대해서 모르는게 있다면 최대한 Doc을 활용하고 https://nginxstore.com/ 에 들어가 찾아보는것이 좋다.

 

NGINX 인증서는?

NGINX인증서는 발급 받을 경우 개인키, 서버 인증서, 체인인증서, 루트 인증서가 발급되는 경우가 있다.

만약 업체에서 따로 나눠 발급해준다면 이 내용은 넘어가도 좋다.

NGINX 인증서 합치기

서버 + 체인 + 루트 순서대로 합쳐주면 된다.

보통 아래와 같이 발급될 것이다.

SSL 인증서 발급된 파일

해당 파일이 있는 곳으로 이동한다.

서버인증서, 체인인증서, 루트인증서를 순으로 `ssl_exaple.cert` 로 합치는 명령어이다.

$ cat example.com_server.csr exaple.com_Chain.pem Chain_RootCA_Bundle.crt > ssl_example.crt

 

NGINX 합쳐진 인증서 확인

-----BEGIN CERTIFICATE-----
MIIDjjCdsafsdafsaCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
... 생략
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDjjCCAnagAwIBAgIQAzrx5123qㄹRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFA
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
... 생략
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIsafasfDjjCCsdfsaAnagAwIBAgIQAzrx5asdfcRqaC7KGSxHQn65TANBgkqhk
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
... 생략
-----END CERTIFICATE-----

NGINX 인증서 이동

인증서가 준비되면 합쳐진 파일 + Key File을 가지고 있으세여

/appstore/webserver/nginx-woni/ssl 경로로 이동시킨다.

 

NGINX SSL 적용 설정

$ /appstore/webserver/nginx-woni/conf/site_aveliable/dev-wonipage.conf
server {
    listen 8500 ssl;
    server_name dev.woni.com;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';

    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    
    # 인증서 경로 지정
    ssl_certificate /appstore/webserver/nginx_woni/conf/ssl/ssl_example.crt;
    ssl_certificate_key /appstore/webserver/nginx_woni/conf/ssl/example.com.key;

    server_tokens off;

    access_log /webstore/logs/nginx-woni/dev-woni/dev-woni_access.log main;
    error_log  /webstore/logs/nginx-woni/dev-woni/dev-woni_error.log debug;

    # 여기 이하 설정은 자신이 사용하는 용도에 따라 다르며 Node를 사용하고 있어 이처럼 설정한것이기 때문에 지워버리시면됩니다.
    location / {
        root /appstore/webserver/nginx_woni/dev-woni/build;
                index index.html, index,htm;
                try_files $uri /index.html;
    }

    location /service {
        allow all;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass http://127.0.0.1:18500;
        proxy_redirect off;
    }

 

이후 서비스를 재기동하면 정상적으로 인증이 되었을 것이다.

 

Reference

  • Let's Encrypt 인증서로 NGINX 인증서 등록하기
 

Let’s Encrypt 인증서로 NGINX SSL 설정하기

이 모범 사례에서는 Let’s Encrypt 클라이언트를 사용하여 인증서를 생성하는 방법과 이를 사용하도록 NGINX 오픈소스 및 NGINX Plus를 사용하여 nginx ssl 설정을 자동으로 구성하는 방법을 다룹니다.

nginxstore.com

728x90

'Linux' 카테고리의 다른 글

SSL 인증서 에러(No subject alternative DNS name matching)  (0) 2024.02.22
[테라폼] 리소스 구성 및 속성 참조  (0) 2024.02.16
프로메테우스(Prometheus), 그라파나(Grafana)를 Docker Compose로 설치하기  (0) 2024.02.08
DNS Qusery 지연 및 도메인 등록기관 이전  (3) 2023.11.23
tomcat 내 SecureRandom Error, [SHA1PRNG]  (0) 2023.11.23
  1. NGINX 기본 정보
  2. NGINX 설정 방법
  3. NGINX 인증서는?
  4. NGINX 인증서 합치기
  5. NGINX 합쳐진 인증서 확인
  6. NGINX 인증서 이동
  7. NGINX SSL 적용 설정
  8. 이후 서비스를 재기동하면 정상적으로 인증이 되었을 것이다.
  9. Reference
'Linux' 카테고리의 다른 글
  • [테라폼] 리소스 구성 및 속성 참조
  • 프로메테우스(Prometheus), 그라파나(Grafana)를 Docker Compose로 설치하기
  • DNS Qusery 지연 및 도메인 등록기관 이전
  • tomcat 내 SecureRandom Error, [SHA1PRNG]
정주원
정주원
개인블로그
  • 정주원
    Joon.eng
    정주원
  • 전체
    오늘
    어제
    • 분류 전체보기 (77)
      • Linux (41)
      • Windows (0)
      • Network (4)
      • Database (0)
      • Cloud (23)
      • Docker (3)
      • Ansible (2)
      • Etc (4)
  • 블로그 메뉴

    • 링크

      • GITLAB(woni)
    • 공지사항

    • 인기 글

    • hELLO· Designed By정상우.v4.10.0
    정주원
    NGINX SSL 인증서 등록

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인
    상단으로

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.