Os/Linux

카페24 가상 서버 운영시 NGINX SSL 설정 및 mysql 외부 접근 허용

projin 2021. 4. 2. 16:23

cafe24 가상서버 운영시 방화벽 정책을 통해 필요한 포트 허용을 해야함

 

 

# SSL 사용시 443 포트 열려 있는지 확인

# systemctl start firewalld ( 서비스 시작 )

# systemctl enable firewalld ( 재부팅 시 자동 시작 )

# systemctl stop firewalld ( 서비스 중지 )

# systemctl disable firewalld ( 재부팅 시 자동 중지 )

# systemctl status firewalld ( 서비스 상태 확인 )

 

 

1. Mysql 외부 접속을 위힌 mysql 계정 추가

 

CREATE USER 계정이름@'%' IDENTIFIED BY '비밀번호';
GRANT ALL PRIVILEGES ON 데이터베이스이름.* TO 계정이름@'%';
FLUSH PRIVILEGES;

위  명령어로 모든 IP에 대해 접근을 허용하기 위해 '%'를 사용가능하도록 실행서버에 접속한 다음 mysql 계정 추가

 

 

 

 

2. Nginx SSL 설정

- cafe24에서 구매한 ssl 인증서를 다운로드 한 후 서버에 업로드

 

 

- nginx conf 설정 후 nginx 가동을 하면 아래와 같은 비밀번호를 입력을 하라고 할 경우 ssl key 파일을 아래의 명령어로 새롭게 생성한 후 재시작하면 비밀번호를 물어보지 않고 바로 실행

 

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

 

- 아래는 nginx conf 설정 내용

server {

    listen       80;
    server_name www.test.kr test.kr;
    root   /home/test/www;
    charset utf-8;

    access_log  /var/log/nginx/test.kr.access.log  main;
    error_log  /var/log/nginx/test.kr.error.log;

    # 업로드시 파일+내용 최대 크기.  php.ini 의 post_max_size 값과 동일하게 설정.
    client_max_body_size 30m;

    index  index.php index.html index.htm main main.php main.htm main.html;

    # 브라우저에 캐싱을 위해, 리소스 만료일 지정
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|wav|swf|eot|ttf|otf|woff|woff2|flv|mp3|mp4|xml)$ {
        #access_log off;
        #log_not_found off;
        expires max;
    }

    #include /root/stack/apps/deny.conf;
    #include /root/stack/apps/laravel51/rewrite.conf;
    #include /root/stack/apps/fastcgi-php-html.conf;


    listen 443 ssl http2;
    ssl_certificate    /home/test/ssl/ssl.crt;
    ssl_certificate_key        /home/text/ssl/ssl_new.key;

    # Force https
    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    }
}