서브 도메인 생성 & ssl 적용 & 디렉토리 포워딩

  1. 도메인을 구입한 곳에 가서 서브 도메인의 A레코드 추가 (서버 ip 포워딩) ex)
    test.test.com | {서버 ip }|ttl 360
  2. ssl 발급
    • Select OS here and do follow from step 1-> 7: https://certbot.eff.org/lets-encrypt/ubuntubionic-nginx
    • Create SSL: sudo certbot –nginx -d example.com -d www.example.com
    • Delete SSL: sudo certbot delete –cert-name example.com
  3. nginx 라우팅
    1. /etc/nginx/sites-available/  로 가서 .conf 파일 생성 (루트 디렉토리, 허용 파일포맷 ,리턴 리스폰스 등 포함)
    2. 심볼릭 링크 추가

가성서버 설정파일 생성

upstream [upstream name] {
    server unix://[unix socket file path];
}

server {
    listen 443 ssl;

    root [web root directory path];
    index index.html index.htm;

    server_name [domain name];

    # SSL Setting below
    ...
    # SSL Setting above

    location / {
        try_files $uri $uri/ =404;
    }

    location /api {
        ...
    }

    # SSL Setting (Let's Encrypt)
    location ~ /.well-known {
            allow all;
    }
}

server {
    listen 80;
    listen [::]:80;

    server_name [domain name]];
    return 301 https://$host$request_uri;
}

Nginx의 기본 파일과 폴더들

  • sites-available: 가상 서버 환경들에 대한 설정 파일들이 위치하는 부분입니다. 가상 서버를 사용하거나 사용하지 않던간에 그에 대한 설정 파일들이 위치하는 곳입니다.
  • sites-enabledsites-available에 있는 가상 서버 파일들중에서 실행시키고 싶은 파일을 symlink로 연결한 폴더입니다. 실제로 이 폴더에 위치한 가상서버 환경 파일들을 읽어서 서버를 세팅합니다.
  • nginx.conf: Nginx에 관한 설정파일로 Nginx 설정에 관한 블록들이 작성되어 있으며 이 파일에서 sites-enabled 폴더에 있는 파일들을 가져옵니다.

심볼릭 링크 추가하기

이제 sites-available에 있는 파일들에 대해서 sites-enabled에 symlink를 추가합시다.

$ cd /etc/nginx/sites-enabled
$ sudo ln -s /etc/nginx/sites-available/[config file name] /etc/nginx/sites-enabled/

Nginx 재시작하기

$ sudo service nginx restart