1. 개요

- Nginx 가 Linux 기반OS에 설치되어있다는 가정하에 기본설정파일에서 SSL인증서 적용하는 방법 소개

- Nginx 설치방법 URL


2. 테스트용 SSL인증서 생성( SSL인증서파일이 있는 경우 생략가능)

## nginx-ssl.com 도메인으로 SSL인증서 생성에 필요한 설정파일 작성
vi nginx-ssl.conf
[req]
distinguished_name = req_distinguished_name
req_extensions = req_ext
prompt = no

[req_distinguished_name]
CN = nginx-ssl.com
OU = Test
O = Test Company
L = Test
ST = Seoul
C = KR

[req_ext]
subjectAltName = @alt_names

[alt_names]
DNS.1 = nginx-ssl.com


## 테스트용 SSL인증서 생성( 파일경로는 자신의 환경에 맞추어 수정필요)
openssl req -x509 -days 365 -nodes -newkey rsa:2048 -keyout nginx-ssl.key -config nginx-ssl.conf -out nginx-ssl.crt

3.  Nginx 기본 설정 파일에서 SSL인증서 적용방법

  - 기본설정파일 위치: /etc/nginx/nginx.conf 에서 443포트 주석 풀고, ssl_certificate, ssl_certificate_key 관련 설정

# Settings for a TLS enabled server.
    server {
        listen       443 ssl;
        server_name  nginx-ssl.com;
        root         /usr/share/nginx/html;

        ssl_certificate "/APP/nginx_binary/conf/nginx-ssl.crt"; #파일명 및 경로 수정필요
        ssl_certificate_key "/APP/nginx_binary/conf/nginx-ssl.key"; #파일명 및 경로 수정필요
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers PROFILE=SYSTEM;
        ssl_prefer_server_ciphers on;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

4. Nginx 가동 후 SSL(443포트)  정상 가동여부 점검

  - 443포트가 listen되고, 웹페이지 정상가동여부 확인됨

[root@rocky8: /APP/nginx_binary/bin]# ./start.sh
[root@rocky8: /APP/nginx_binary/bin]# ./status.sh
########## nginx status ########
● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2023-03-27 17:04:38 EDT; 26min ago
  Process: 2078 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 2076 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 2074 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 2079 (nginx)
    Tasks: 5 (limit: 49275)
   Memory: 7.9M
   CGroup: /system.slice/nginx.service
           ├─2079 nginx: master process /usr/sbin/nginx
           ├─2080 nginx: worker process
           ├─2081 nginx: worker process
           ├─2082 nginx: worker process
           └─2083 nginx: worker process

Mar 27 17:04:38 rocky8.linuxvmimages.local systemd[1]: Starting The nginx HTTP and reverse proxy server...
Mar 27 17:04:38 rocky8.linuxvmimages.local nginx[2076]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Mar 27 17:04:38 rocky8.linuxvmimages.local nginx[2076]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Mar 27 17:04:38 rocky8.linuxvmimages.local systemd[1]: Started The nginx HTTP and reverse proxy server.
########## nginx process ########
root        2094  0.0  0.0  12144  1100 pts/0    S+   17:31   0:00                              \_ grep nginx
root        2079  0.0  0.0 120352  2236 ?        Ss   17:04   0:00 nginx: master process /usr/sbin/nginx
nginx       2080  0.0  0.1 153068  8044 ?        S    17:04   0:00  \_ nginx: worker process
nginx       2081  0.0  0.1 153068  8052 ?        S    17:04   0:00  \_ nginx: worker process
nginx       2082  0.0  0.1 153068  8012 ?        S    17:04   0:00  \_ nginx: worker process
nginx       2083  0.0  0.1 153068  8052 ?        S    17:04   0:00  \_ nginx: worker process
########## netstat  ########
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2079/nginx: master
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1069/sshd
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      2079/nginx: master
tcp6       0      0 :::80                   :::*                    LISTEN      2079/nginx: master
tcp6       0      0 :::22                   :::*                    LISTEN      1069/sshd

태그: ,

카테고리:

업데이트:

댓글남기기