Nginx SSL 인증서 설치[CentOS 7]

Nginx SSL 인증서 설치를 진행합니다.

1. 인증서 신청하기

SSL 인증서는 30일 무료 SSL을 https://zerossl.com/ 사이트에서 신청했습니다.

Nginx SSL 설치-Free 30일 신청 1
Nginx SSL 설치-Free 30일 신청 2
Nginx SSL 설치-Free 30일 신청 3

DCV 인증은 DNS 인증 방식으로 진행했습니다.

Nginx SSL 설치-Free 30일 신청 4_DEV DNS 인증

네임서버에서 CNAME 레코드를 설정합니다.

Nginx SSL 설치-Free 30일 신청 4_DEV DNS 인증2

설정 후 인증 신청을 한 후 대기 시간이 소요됩니다.

Nginx SSL 설치-Free 30일 신청 5

인증이 완료되면 인증서 파일을 다운로드 받은 후 서버에 인증서 설치 작업을 진행합니다.

Nginx SSL 설치-Free 30일 신청 6

2. 방화벽 설정

윈도우 처음 설치 후 특별한 설정을 하지 않았다면 기본 방화벽은 firewallD 데몬입니다.

firewall-cmd --permanent --add-service=https
firewall-cmd --reload

3. ssl 인증서 업로드

lrzsz 툴을 설치 후 드래그 하여 파일을 업로드 합니다.

cd /etc/nginx/
mkdir ssl
yum -y install lrzsz

4. user.conf SSL 적용

기존 80번 포트의 서버 블록에서 추가로 443 포트의 SSL 적용할 서버 블록을 만들어서 SSL 인증서 적용할 내용을 추가합니다.

# http 서버 블록
server {
    listen       80;
    server_name  mydomain.com;
    #http로 접속할 경우 https로 리다이렉트
    return 301 https://$host$request_uri;
    location / {
        root   /home/testuser/www;
        index  index.html index.htm index.php;
        charset utf-8;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
        root           /home/testuser/www;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

# HTTPS 서버 블록 설정 추가
server {
    listen       443 ssl;
    server_name  mydomain.com;

    ssl_certificate     /etc/nginx/ssl/certificate.crt;
    ssl_certificate_key /etc/nginx/ssl/private.key;

    root   /home/testuser/www;
    index  index.html index.htm index.php;
    charset utf-8;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        root           /home/testuser/www;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
Nginx 서버 블록
├── HTTP 서버 블록 (포트 80)
   ├── server_name: localhost; or domain(mydomain.com)
   ├── 리다이렉트: http  https (return 301 https://$host$request_uri)
   ├── location /
      ├── root: /home/testuser/www
      ├── index: index.html, index.htm, index.php
      └── charset: utf-8
   ├── location = /50x.html
      └── root: /usr/share/nginx/html
   └── location ~ \.php$
       ├── root: /home/testuser/www
       ├── fastcgi_pass: 127.0.0.1:9000
       ├── fastcgi_index: index.php
       ├── fastcgi_param: SCRIPT_FILENAME = $document_root$fastcgi_script_name
       └── include: fastcgi_params

├── HTTPS 서버 블록 (포트 443 ssl)
    ├── server_name: localhost; or domain(mydomain.com)
    ├── ssl_certificate: /etc/nginx/ssl/certificate.crt
    ├── ssl_certificate_key: /etc/nginx/ssl/private.key
    ├── root: /home/testuser/www
    ├── index: index.html, index.htm, index.php
    ├── charset: utf-8
    ├── location /
       └── try_files: $uri $uri/ =404
    ├── location ~ \.php$
       ├── root: /home/testuser/www
       ├── fastcgi_pass: 127.0.0.1:9000
       ├── fastcgi_index: index.php
       ├── fastcgi_param: SCRIPT_FILENAME = $document_root$fastcgi_script_name
       └── include: fastcgi_params
    └── location = /50x.html
        └── root: /usr/share/nginx/html

5. Nginx 재시작 및 SSL 인증서 적용 사항 확인

nginx -s reload

Nginx SSL 인증서가 정상적으로 설치 되었습니다.

Nginx SSL 설치 웹에서 확인하기

Similar Posts

  • 리눅스 시스템 로그 정의 및 분류

    리눅스 시스템 로그는 시스템에서 발생하는 다양한 이벤트를 기록하며, 시스템의 상태를 모니터링하고 문제를 진단하는 데 중요한 역할을 합니다. 로그 파일은 시스템의 동작, 오류, 보안 관련 이벤트 등을 기록하고, 관리자는 이를 통해 시스템의 상태를 점검하며 성능을 모니터링할 수 있습니다. 이를 통해 시스템의 원활한 운영을 보장하고, 트러블슈팅 시 중요한 정보를 제공합니다. 목차1. 인증서 신청하기2. 방화벽 설정3….

  • 리눅스: RPM, YUM 차이

    RPM(Red Hat Package Manager)과 YUM(Yellowdog Updater, Modified)은 리눅스의 패키지를 설치하는 인스톨 프로그램입니다. 패키지 설치와 삭제, 업데이트를 관리하는 명령어입니다. 목차1. 인증서 신청하기2. 방화벽 설정3. ssl 인증서 업로드4. user.conf SSL 적용5. Nginx 재시작 및 SSL 인증서 적용 사항 확인RPM 리눅스를 초기에 설치 할 때는 tar, gzip 등의 확장자를 사용했습니다. 패키지 설치 시 사용자가 직접 컴파일을…

  • 리눅스 트러블 슈팅(Trouble Shooting).INDEX

    리눅스 서버를 공부 할 때 트러블 슈팅(Trouble Shooting)이란 단어를 접하게 되는데 서버 엔지니어와 개발자가 서버를 운영하면서 듣게 되는 단어로 말 그대로 ‘문제 해결’을 뜻 한다. 리눅스에서 Trouble Shooting은 문제가 발생한 시점에서 시스템, 소프트웨어 및 하드웨어, 네트워크 등에서 문제를 진단하고 해결하는 과정이다. 목차1. 인증서 신청하기2. 방화벽 설정3. ssl 인증서 업로드4. user.conf SSL 적용5. Nginx…

  • 레드햇 자격증: RHCSA, RHCE, RHCA

    레드햇 자격증(Red Hat Certification)은 레드햇 리눅스를 운영하는데 필요한 역량을 확인하고 입증하는 자격증입니다. 레드햇 웹사이트에서 확인한 RHCSA, RHCE, RHCA 3개 자격증의 정보입니다. 자격증의 기본적인 취득 조건은 RHCSA 자격증 취득 후 RHCE, RHCA 순서로 취득할 수 있습니다. 목차1. 인증서 신청하기2. 방화벽 설정3. ssl 인증서 업로드4. user.conf SSL 적용5. Nginx 재시작 및 SSL 인증서 적용 사항 확인1….

  • Apache http2 적용하기(mod_http2)

    리눅스 서버에 Apache를 설치하게 되면, 기본 프로토콜은 HTTP/1.1을 기본으로 통신하게 되어 있다. Apache http2는 Apache 2.4.17 버전 부터 DSO 모듈로(mod_http2.so) HTTP/2를 지원한다. HTTP/2(Hypertext Transfer Protocol Version 2)는 월드 와이드 웹에서 쓰이는 HTTP 프로토콜의 두 번째 버전이다. 목차1. 인증서 신청하기2. 방화벽 설정3. ssl 인증서 업로드4. user.conf SSL 적용5. Nginx 재시작 및 SSL 인증서 적용…

  • [Linux] 쉘(Shell)과 커널&쉘 스크립트 및 프롬프트

    리눅스에 대해 공부하면서 터미널 창에서 명령어를 입력해서 관리를 하지만 시스템 자체에 대한 공부가 리눅스 서버를 운영하는데 많은 도움이 되기 때문에 기초와 개념에 대해 알아야 할 필요성을 가지게 되었습니다. 리눅스 쉘(Shell)과 쉘 스크립트(Shell Script) 그리고 프롬프트(Prompt)의 기본 개념에 대해 알아 보겠습니다. 목차1. 인증서 신청하기2. 방화벽 설정3. ssl 인증서 업로드4. user.conf SSL 적용5. Nginx 재시작…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 1   +   6   =