Study/Server

서브 도메인 + Redirection

웜듀 2021. 7. 11. 02:35

1. 가비아 서브 도메인 적용 (Dev, Prod)

여기서 디렉토리를 하나 생성해준다.

그런데 이때 다음과 같은 오류가 발생한다.

다음 코드를 통해 권한을 변경해준다. 여기서 꼭 /var/www/html/ 안에서 해주도록 한다.

sudo chmod -R 777 . # 모두에게 권한

root에서 시도했다가 난 망했다;;;;;

그래서 인스턴스 생성부터 다시 하게 되었다. 이런 일이 일어나지 않도록 조심하자..

앞에서 만들었던 aws 서버와 ip주소가 달라졌다.. 이해해주길 바란다...

 

권한 변경 후 재시도를 해주면 product 디렉토리가 생성된다.

이런식으로 디렉토리를 만들어 서브 도메인을 생성할 수 있다. 이제 product 디렉토리는 지우고 제대로 해보자.

cd /var/www/html
sudo mkdir dev
sudo mkdir prod

dev와 prod라는 디렉토리를 생성한다.

그리고 dev에는 dev.html을 prod에는 prod.html을 생성한다.

이후 다음 명령어를 이용하여 서브 도메인에 대한 추가 설정을 해준다.

sudo vi /etc/nginx/sites-available/default

위 명령어를 통해 default에 접속하여 아래와 같은 코드를 작성해준다.

server{
        root /var/www/html/dev;
        index dev.html index.php index.html index.htm index.nginx-debian.html;
        server_name dev.hazel-software.shop;

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

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

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

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

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

 

이후 DNS 관리에서 레코드를 다음과 같이 수정해준다.

이제 각각의 서브 도메인에 접속해보도록 하자.

먼저 http://dev.hazel-software.shop이다.

다음은 http://prod.hazel-software.shop 이다.

 

2. Redirection 적용

네이버 들어갈 때 www.naver.com 들어가곤 한다.

이때 도메인 대신 아이피 주소를 입력을 하더라도 도메인으로 연결되도록 적용하는 것이 Domain Redirection이다. (IP to Domain)

 

우선 다음 명령어를 통해 default로 이동한다.

sudo vi /etc/nginx/sites-available/default

맨 아랫줄에 아래 코드와 같이 추가해준다.

server {
        listen 80;
        server_name IP주소;
        return 301 https://www.도메인$request_uri;
}

이후 IP로 접속시 도메인으로 redirection되는 것을 확인할 수 있다.