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

  • nslookup 명령어

    nslookup 명령어는 네임 서버 조회(Name Server Lookup)를 뜻하는 명령어로 네임 서버의 정보를 얻기 위한 명령어입니다. DNS(Domain Name System)에 질의 후 대상 도메인의 IP 주소나 DNS 레코드 등의 정보를 얻기 위한 네트워크 명령어입니다. DNS 서버의 정상적인 작동을 통해 정상적인 네트워크 설정이 되었는지 확인할 때 많이 사용하게 되는 명령어 중 하나입니다. 보통 맥 OS 및…

  • 리눅스 kill 명령어[kill -9 PID]

    리눅스 kill 명령어는 사용 중인 프로세스를 종료하는 명령어입니다. 터미널에서 프로세스에 시그널(Signal)을 보내서 프로세스를 종료합니다. 프로그램이 정지하거나 응답하지 않는 경우 일반적인 종료가 되지 않는 경우 등에 따라 명령어를 실행하게 됩니다. kill process는 사용 시 중요한 시스템 프로세스를 종료 시키면 시스템이 불안정해질 수 있기 때문에 주의해서 사용해야 합니다. 목차1. 인증서 신청하기2. 방화벽 설정3. ssl 인증서…

  • Linux snapd | Rocky Linux에서 snapd 설치

    스냅크래프트(Snapcraft) 또는 스냅(Snap)은 캐노니컬(Canonical)이 시작한 Ubuntu 스마트폰 운영 체제를 위한 소프트웨어 배포 및 패키지 도구로서 개발되었으며, 패키지 관리 시스템이다. 스냅(snap)이라고 불리는 패키지와 snapd를 사용하는 도구는 업스트림 소프트웨어 패키징을 간편화하여 다양한 리눅스 배포판에서 사용할 수 있도록 도와준다. Linux snapd은 앱 패키지로 데스크톱, 클라우드, IoT에서 사용 가능하며, 설치가 용이하고 안전하며 다양한 플랫폼에서 사용할 수 있으며…

  • 리눅스 퍼미션(4,2,1)과 소유권 | chmod, chown, umask 명령어 | 스티키 비트

    리눅스 퍼미션(Permission)은 권한(&허가)을 의미합니다. 유닉스 계열 운영 체제들은 MS-DOS 계열의 운영 체제들은 멀티 테스킹 시스템이 아니며 멀티 유저 시스템 역시 아닙니다. 보통 컴퓨터는 하나의 키보드와 모니터를 가지고 한 명이 사용하지만 멀티 유저 시스템인 리눅스는 한 명 이상이 사용할 수 있다는 것을 의미합니다. 유닉스 계열의 멀티 유저 시스템은 운영 체제 설계 초기부터 깊게 내장된…

  • |

    컴파일 뜻 : 컴파일링이란?

    목차1. 인증서 신청하기2. 방화벽 설정3. ssl 인증서 업로드4. user.conf SSL 적용5. Nginx 재시작 및 SSL 인증서 적용 사항 확인 ■ 컴파일이란? 컴파일(compile)이란 프로그래머가 작성한 소스코드를 바이너리 파일로 변환하는 과정이다. 소스코드를 Compiler 하여 프로그램을 만들 수 있다. 요즘은 배포판 공급업체에서 이미 compile 된 바이너리 파일들을 저장소에 관리하는 것이 일반적인 사항이 되었으며, 서버로 다운로드 후…

  • 셸 스크립트: 변수(variable)와 상수(constant)

    셸 스크립트에서 변수란 단어가 가진 의미는 변할 수 있는( variable) 값이다. 또 상당수의 애플리케이션에서 변수가 이와 같은 의미로 사용되고 있다. 상수(constant)는 이름이 정의되고 값이 지정된다는 점은 변수와 같다. 하지만 그 값은 변하지 않는다는 점이 다르다. 쉘은 변수와 상수를 따로 구분하지 않는데 용어를 구분하는 이유는 쉘 이용자의 편의를 위해서이다. 목차1. 인증서 신청하기2. 방화벽 설정3….

답글 남기기

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

Prove your humanity: 3   +   10   =