AWS 서버 구축 - Sub Domain적용(Dev,Prod)

2021. 1. 25. 17:20Server

반응형

서브도메인이란 ?

도메인 이름 시스템(domain name system) 계층에서 하위 도메인은 다른 도메인의 일부인 도메인이다. 예를 들어 도메인에서 example.com 웹 사이트의 일부로 온라인 상점을 제공 한 경우 하위 도메인 shop.example.com을 사용할 수 있다.

 

가비아 도메인 CNAME레코드를 추가하여 서브 도메인 만들기

 

도메인에 CNAME레코드 혹은 A타입 레코드를 설정하면 서브 도메인을 만들 수 있다.

 

CNAME레코드는 도메인 이름에 다른 이름을 부여하는 dns레코드 유형이다.

 

예를 들면 domain.com이라는 도메인에 sub.domain.com이라는 다른 이름을 설정하여 서브도메인을 생성할 수 있다.

cname레코드는 도메인 dns관리에서 추가할 수 있다. 가비아 도메인에 cname레코드를 추가하여 서브도메인 만드는 방법 설명

 

dns 관리툴

호스트 -서브도메인이름입력

값 - 연결된 주소

 

도메인 CNAME레코드 

 

1. dev, prod 폴더 만들기 

  1. var/www/html에 dev 폴더, prod 폴더를 만든다.
  2. 루트유저외에 일반유저도 폴더를 생성할 수 있도록 하기위한 작업을 한다(cd /var/www/html/prod 에서 sudo chmod -R 777 . )
  3. sudo vi prod.php 파일에 <?php phpinfo(); ?> 내용 저장 (phpinfo 아닌 기본 html파일을 만들어도 무방하다)
  4. dev 폴더에 3,4번 반복, 명칭은 dev로

 

2. cname 추가 

가비아에서 DNS설정에서 마지막 두줄 추가한다. 

 

 

 

3. nginx 설정 파일 수정, 재부팅

1. vi /etc/nginx/sites-available/default 들어가기 

2. 새로운 서브도메인 서버 블럭 추가

server {
    root /var/www/html/prod; # 원래 root 경로랑 같이
    index index.php index.html index.htm index.nginx-debian.html; # 위의 서버블록과 동일하게

    server_name prod.lilyspace.shop; # 수정

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

server {
    root /var/www/html/dev; # 원래 root 경로랑 같이
    index index.php index.html index.htm index.nginx-debian.html; # 위의 서버블록과 동일하게

    server_name dev.lilyspace.shop; # 수정

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

 

3. service nginx restart 

 

4. ssl 추가

certbot --nginx -d lilyspace.shop -d prod.lilyspace.shop
certbot --nginx -d lilyspace.shop -d dev.lilyspace.shop

 

 

아래처럼 응답하기

root@ip-172-31-9-60:/var/www/html# certbot --nginx -d lilyspace.shop -d prod.lilyspace.shop
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for prod.lilyspace.shop
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/default
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/default

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Traffic on port 80 already redirecting to ssl in /etc/nginx/sites-enabled/default
Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/default

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://lilyspace.shop and
https://prod.lilyspace.shop

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=lilyspace.shop
https://www.ssllabs.com/ssltest/analyze.html?d=prod.lilyspace.shop
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/lilyspace.shop-0001/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/lilyspace.shop-0001/privkey.pem
   Your cert will expire on 2021-04-25. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

root@ip-172-31-9-60:/var/www/html# certbot --nginx -d lilyspace.shop -d dev.lilyspace.shop
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for dev.lilyspace.shop
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/default
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/default

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Traffic on port 80 already redirecting to ssl in /etc/nginx/sites-enabled/default
Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/default

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://lilyspace.shop and
https://dev.lilyspace.shop

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=lilyspace.shop
https://www.ssllabs.com/ssltest/analyze.html?d=dev.lilyspace.shop
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/lilyspace.shop-0002/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/lilyspace.shop-0002/privkey.pem
   Your cert will expire on 2021-04-25. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

5. nginx 설정파일 수정하기

1. vi /etc/nginx/sites-available/default 들어가기

2. 서브도메인 서버 블록(dev,prod 둘다)에 아래 내용 추가

location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;

    }

 

 

3. service nginx restart 

 

6. 서브도메인 확인

 

 

 

 

 

<참고자료>

1. 가비아 도메인설정

 

가비아 도메인 CNAME 레코드 추가하여 서브 도메인 만들기

도메인 1년 사용 비용이 보통 1~2만원 정도 합니다. 닷컴 도메인의 경우는 부가세에 부가서비스(등록 정보 숨김 등)까지 이용하면 25,000원 정도 합니다. 대부분의 블로거들은 이 비싼 도메인을 블

lovedweb.com

 

 

서브/하위 도메인 만드는 방법 (가비아 CNAME 레코드 추가 설정)

가비아 도메인에 서브/하위 도메인 생성하기 가비아를 통해 .com, .net등의 도메인을 구입했다면 이 메인 도메인 아래에 여러개의 하위(서브) 도메인을 만들 수 있다. 티스토리 블로그를 이용해서

mr-shopper.tistory.com

2. nginx 서브도메인추가

 

Nginx Sub Domain 추가하기

CNAME 추가 Nginx 설정 전 CNAME 추가가 필요하다. 도메인 관리 페이지에서 CNAME을 추가한다. 카페24 기준 "도메인 관리 > DNS 관리 > 별칭(CNAME) 관리" 메뉴에서 추가/편집할 수 있다. 카페24는 기본으로 "*

pilot376.tistory.com

 

반응형