Infra Structure/Nginx

[Nginx] SSL 적용

하 선생 2022. 7. 11. 00:39

# 디렉토리 생성

$  mkdir /etc/nginx/ssl

$  cd /etc/nginx/ssl

 

# 개인키 및 인증요청서 생성

$ sudo openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out private.csr

 

# ssl 인증서 생성
$ sudo openssl x509 -req -days 3650 -in private.csr -signkey private.key -out cert.crt

 

# 개인키의 비밀번호 제거
$ sudo openssl rsa -in private.key -out private2.key

 

server {
        listen 80;
        server_name example.co.kr;
        root html;

        location / {
        	return 301 https://example.co.kr$request_uri;
    	}
}

upstream target-server {
   ip_hash;

   server 10.10.10.101:8080;
   server 10.10.10.102:8080;
}
server {
        listen 443;
        server_name example.co.kr;

        ssl     on;
        ssl_certificate /etc/nginx/ssl/cert.crt;
        ssl_certificate_key /etc/nginx/ssl/private2.key;
        location / {
                proxy_redirect  off;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Scheme $scheme;
                proxy_pass http://target-server;
        }
}