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

  • Linux란? 리눅스의 특징 및 리눅스의 종류

    목차1. 인증서 신청하기2. 방화벽 설정3. ssl 인증서 업로드4. user.conf SSL 적용5. Nginx 재시작 및 SSL 인증서 적용 사항 확인■ ‘Linux’란? -simple ‘Linux’ 는 유닉스의 무료 버전(오픈소스)으로 이해하면 된다.  유닉스는1969년 벨 연구소에서 만들어졌습니다.  리눅스는 1991년 8월 리누스 토르발스가 어셈블리어로 리눅스 커널(kernel) 0.01 버전을 만들면서 시작되었습니다. 1992년에 0.02 버전이 만들어지면서 인터넷에 소스 코드를 공개한 것이…

  • [Ubuntu] apt 명령어 | apt-get 명령어 사용법과 차이점

    Red Hat 계열 리눅스에서는 패키지 관리를 위해 dnf 명령어를 사용하며, Debian 계열에서는 apt 명령어를 사용합니다. Ubuntu와 같은 Debian 기반 배포판에서는 두 명령어가 모두 사용 가능하지만, 목적과 사용 방식에 따라 약간의 차이가 있습니다. 이 글에서는 apt와 apt-get의 차이를 간단히 비교하고, apt 명령어에서 자주 사용하는 명령어 예제를 함께 정리해보겠습니다. 목차1. 인증서 신청하기2. 방화벽 설정3. ssl…

  • 셸 스크립트: 셸 들여쓰기 및 확장 옵션명[long 옵션명]

    명령어를 길게 사용하다 보면 여러 명령어 줄을 넘겨서 입력하는 경우가 발생합니다. 가독성을 높이기 위해 명령어를 문장 연결 하는 백슬래시(\)를 사용하여 셸 들여쓰기를 할 수 있습니다. 목차1. 인증서 신청하기2. 방화벽 설정3. ssl 인증서 업로드4. user.conf SSL 적용5. Nginx 재시작 및 SSL 인증서 적용 사항 확인1. 셸 들여쓰기: 백슬래시(\) 백슬래시-라인피드 문자열이며 LF(Line Feed)는 커서를 한칸…

  • 리눅스 uptime 명령어(서버 가동 시간&1,5,15 평균 로드 확인)

    리눅스 uptime 명령어는 시스템의 평균 부하율과 서버의 가동 시간을 확인하는 명령어입니다. 서버의 부팅 시간을 알고 싶을 때, 최근 15분 동안의 평균 로드를 통해 부하율을 알고 싶을 때 사용하는 명령어임을 알 수 있습니다. 목차1. 인증서 신청하기2. 방화벽 설정3. ssl 인증서 업로드4. user.conf SSL 적용5. Nginx 재시작 및 SSL 인증서 적용 사항 확인✅ 리눅스 uptime…

  • [Linux] Shell 확장 6가지와 Shell 인용 3가지

    echo 명령어를 사용해서 Shell 확장(Expansion)에 대해 알아 보겠습니다. 목차1. 인증서 신청하기2. 방화벽 설정3. ssl 인증서 업로드4. user.conf SSL 적용5. Nginx 재시작 및 SSL 인증서 적용 사항 확인 1. Shell 확장 Shell 확장(Expansion)이란 셸에서 프로그램을 실행하기 직전 사용자가 입력한 인자를 정해진 의미에 맞게 해석해서 입력 or 출력으로 전환하는 것을 의미합니다. 프로그램은 echo를 포함한 명령어와…

  • [Linux] localectl 명령어

    CentOS 7 버전부터 많은 명령어들이 통합되어 제공됩니다. 로케일 및 키보드 관련 부문은 localectl 명령어에서 제공합니다. locale은 원래 지역이나 장소를 의미하지만, IT 환경에서는 언어 및 지역 설정을 지칭합니다. 리눅스에서는 문자 인코딩, 언어, 날짜/시간, 숫자 등의 지역화 설정을 locale 문자열로 정의합니다. 대부분의 유닉스 및 리눅스 배포판은 POSIX 기반이며, 이는 Red Hat 및 Debian 계열도 포함됩니다….

답글 남기기

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

Prove your humanity: 4   +   2   =