728x90

[ 기준 환경 ]

CentOS

SSD 가상서버 퍼스트클래스

인증서종류 : SSL보안 라이트 

 

모든 인증서를 받아 서버에 업로드

 

1. 인증서 파일 합치기

cat ssl.crt chain_all_ssl.crt > domain.pem

2. 만약 해당 합친 파일에 아래 내용이 개행되어있지않다면 vi로 열어 개행하여 저장

-----END CERTIFICATE----- -----BEGIN CERTIFICATE-----

 

3. 서버 시작 시마다 인증서 비밀번호 입력 생략하도록 복호화

openssl rsa -in ssl.key -out new_ssl.key

서버 구매 시 입력했던 비밀번호를 입력 

 

4. nginx 기본설정파일 수정

cd /etc/nginx/conf.d
vi default.conf

default.conf의 내용을 아래와 같이 수정 (domain이나 백엔드 url:port 등은 환경에 맞게 알아서 수정)

아래 예시 기준으로는 프론트의 백엔드 api 요청 주소가 https://domain.co.kr/api

server {
        client_max_body_size 50M;

        listen 80;
        server_name domain.co.kr;
        return 301 https://$host$request_uri;
}

server {
        client_max_body_size 50M;

        listen 443;
        server_name domain.co.kr;

        root  /var/www/project/dist;
        index index.html;

        ssl on;
        ssl_certificate /var/www/ssl/domain.pem;
        ssl_certificate_key     /var/www/ssl/new_ssl.key;
        ssl_protocols TLSv1.1 TLSv1.2;


        set $service_url http://127.0.0.1:3001;

        location /api/{
                proxy_read_timeout 5m;
                proxy_connect_timeout 5m;
                proxy_send_timeout 5m;

                rewrite ^/api(/.*)$ $1 break;
                proxy_pass http://127.0.0.1:3001;
                proxy_set_header Host $http_host;
                proxy_set_header X-Forwarded-Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
        }


        location / {
                try_files $uri $uri/ /index.html;
        }
}
~

 

그 뒤 nginx 재시작

systemctl restart nginx

+ Recent posts