Ubuntu Nginx에서 서브 도메인 및 IP to Domain Redirection 적용

콜트·2021년 1월 11일
0

라이징 프로그래머2

목록 보기
11/18
post-custom-banner

라이징 프로그래머2의 2주차 챌린지 과제로 주어진 것은 다음과 같다.

  • Ubuntu Nginx LEMP(Linux, Nginx, MySQL, PHP)환경에서 서브 도메인 적용하기
  • IP to Domain Redirection 적용하기

진행하기에 앞서, 본인은 가비아라는 도메인 사이트를 이용했음을 밝힌다.

서브 도메인 적용하기

1. 서브 도메인 추가

먼저, 서브 도메인을 적용하기 위해 가비아에 로그인한 뒤 My 가비아 - 도메인 관리 페이지에서 서브 도메인을 적용해줄 도메인을 선택한 다음, 우측 하단에 보이는 DNS 정보에서 도메인 연결 옆의 설정 버튼을 통해 진입한다.
1  도메인 적용-4

그리고 앞서 AWS EC2 Ubuntu 서버에 도메인 연결하기(가비아)에서 진행한 것과 마찬가지로 다음과 같이 서브 도메인을 추가해주면 된다. 여기서 타입은 CNAME으로 해주고, 호스트에는 서브도메인으로 이용할 test, product를 입력했다.
1  서브 도메인 적용-1

2. Nginx 설정파일 수정

다음으로는 Nginx 설정파일(나의 경우에 설정파일 경로는 /etc/nginx/sites-available/default)에 다음 코드블럭을 추가해주면 된다.

1  서브 도메인 적용-4

server_name 에 원하는 서브도메인을, root 에는 연결할 디렉토리를, index 에는 사용할 우선순위를 정해주면 된다.
각각 test, product라는 서브 도메인에 해당하는 설정이며, 만약 서브 도메인으로 접근했는데 index.php가 다운로드 된다면 사진 중간에 보이는 다음 코드블럭을 추가해줘야 한다(본인의 php 버전에 맞게 추가해줘야 함을 잊지말자).

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

이제 Nginx 설정파일 수정까지 완료되었으므로 Nginx 서버를 재부팅해준다.

sudo service nginx restart

추가로, 앞서 Let's Encrypt를 이용하여 Nginx에 HTTPS 적용하기의 SSL 인증서 발급 과정까지 마치면 각각의 서브 도메인에 HTTPS를 적용된 모습까지 확인할 수 있다(URL의 자물쇠 모양).

1  서브 도메인 적용-5
1  서브 도메인 적용-6


Redirection 적용하기

Nginx 설정파일 수정

Redirection 적용은 간단하다.
다음과 같이IP to Domain Redirection 적용을 위해 /etc/nginx/sites-available/default 설정파일에 다음 사진의 코드블럭을 추가해준다. 쉽게 말하면, server_name에 지정해준 IP로 접근했을 때 return 301에 설정해준 주소로 Redirection 하는 설정을 추가해주는 것이다.

Redirection 잘 될때 상태 저장-5

설정을 추가해준 뒤, Nginx 서버를 재시작해준다.

sudo service nginx restart

이제 브라우저에서 해당 IP로 접근하면 설정해준 URLRedirection 되는 것을 확인할 수 있을 것이다.


참고자료

profile
개발 블로그이지만 꼭 개발 이야기만 쓰라는 법은 없으니, 그냥 쓰고 싶은 내용이면 뭐든 쓰려고 합니다. 코드는 깃허브에다 작성할 수도 있으니까요.
post-custom-banner

0개의 댓글