본문 바로가기

WEB/NGINX

nginx ssl 설정


# 테스트 환경

  • OS : Oracle Linux Server release 8.6
  • JDK : 1.8
  • nginx ver. : 1.14.1

 

1. openssl을 이용한 인증서 생성

① ssl 디렉터리에 root key 생성

openssl genrsa -aes256 -out root.key 4096
root key password : ...

root.key 생성

 

② root.csr 생성

openssl req -new -key root.key -sha256 -out root.csr
Enter pass phrase for root.key: ...

root.csr 생성

 

③ root.crt 생성 및 설치

openssl x509 -req -days 3653 -extensions v3_ca -set_serial 1 -in root.csr -signkey root.key -sha256 -out root.crt
Signature ok
subject=C = XX, L = Default City, O = Default Company Ltd
Getting Private key
Enter pass phrase for root.key: ...

root.crt 생성
root.crt 설치

 

④ pem 파일로 변환

전체 pem 파일

cat root.crt > root.pem

 

private key 파일

openssl rsa -in root.key -text > private.pem

 

 

2. ssl 인증서 적용을 위한 nginx.conf 파일 수정

① 443 port 사용 및 인증서 적용을 위한 server 태그 설정

    server {
        listen       443;
        server_name  localhost;
        root         /usr/share/nginx/html;

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

        ssl on;
        # SSL-TLS on
        
        ssl_certificate /etc/nginx/ssl/root.pem;
        # root.pem 경로
        
        ssl_certificate_key /etc/nginx/ssl/private.pem;
        #private.pem(root.key) 경로
        
        ssl_prefer_server_ciphers on;
        # off일 경우 보안에 취약할 수 있기 때문에 on으로 설정

        location / {
        }
    }

 

② 80 port로 들어오는 요청을 443으로 redirect 시켜주는 sever 태그 설정

    server {
        listen       80;
        server_name  localhost;
        return 301 https://$host$request_uri;
        # http 요청이 들어오면 https로 강제로 보내기 위해 return 301 태그 사용
    }

 

 

3. TEST 호출

http로 호출

 

https로 redirect 완료

 

'WEB > NGINX' 카테고리의 다른 글

nginx & WAS 연동  (0) 2024.07.30
nginx Load Balancing  (0) 2024.07.29
nginx.conf (2)  (0) 2024.07.29
nginx.conf (1)  (0) 2024.07.26
nginx 설치  (0) 2024.07.25