[부트캠프][2주차]AWS EC2 SubDomain적용, IP to Domain Redirection

이호석·2022년 6월 17일
0

부트캠프

목록 보기
7/11

AWS EC2에 Nginx, PHP, MySQL 서버 구축
AWS EC2 Domain적용, HTTPS 적용
2주차의 기본 과제는 끝났지만 더하고 싶은 사람은 진행해도 되는 챌린지 과제는 남아있다. 이번 시간에 해볼 것은 SubDomain적용과, IP to Domain Redirection이다.

SubDomain

SubDomain은 도메인 이름의 확장자 역할을 하여 웹사이트의 다양한 섹션을 구성 및 탐색할 수 있도록 지원한다. 예를 들어 store.example.com일때 store은 하위(sub) domain, example은 주 domain이다.

파일 생성

cd /var/www/html
sudo chmod -R 777 .
mkdir dev prod

chmod -R 명령어는 이 디렉토리를 포함한 하위 디렉토리까지 모든 사용자가 쓰기, 읽기, 실행하도록 변경한다. sudo 명령어를 더 이상 사용하지 않아도 된다. 그리고 subdomain 구별을 위해 두 개의 디렉토리를 만들었다.

cd dev
vi dev.php
<?php
echo "Dev Hello World!";
?>
cd ../prod
vi prod.php
<?php
echo "Prod Hello World!";
?>

dev디렉토리에 페이지 구별을 위한 단순 php코드를 작성했고, prod디렉토리에 똑같이 이름만 prod 바꿔서 구성했다.

가비아 설정

가비아의 DNS 설정에 가서 위 사진과 같이 CNAME 타입으로 두 개의 레코드를 추가한다.

ngnix 수정

sudo vi /etc/nginx/sites-available/default
server {
    root /var/www/html/dev;
    index index.html index.htm index.nginx-debian.html  index.php;

    server_name dev.example.com; #수정

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

server {
    root /var/www/html/prod;
    index index.html index.htm index.nginx-debian.html  index.php;

    server_name prod.example.com; #수정

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

ngnix 설정 파일에 들어가고 dev, prod 설정을 위해 위와 같이 작성해주면 된다.

SSL 추가

sudo service nginx restart
sudo certbot --nginx -d example.com -d dev.example.com
sudo certbot --nginx -d example.com -d prod.example.com

지난 번처럼 redirect를 할거냐고 물어봤을 때, 그렇다고 답을 하면 된다. (2 누르고 엔터)

sudo service nginx restart

SubDomain 확인

브라우저 검색창에 dev.exampl.com/dev.php, prod.exampl.com/prod.php을 입력하면


SubDomain이 잘 적용된 것을 확인할 수 있다.

Ip to Domain Redirection 적용

sudo vi /etc/nginx/sites-available/default
server {
	listen 80;
	server_name 퍼블릭 IPv4 주소;
	return 301 https://example.com$request_uri;
}
sudo service nginx restart

브라우저 검색창에 [퍼블릭 IPv4 주소]를 입력하면 자기 Domain으로 들어가지는 것을 확인할 수 있다.

진짜 2주차 끝

0개의 댓글