제가 사용하는 무료 클라우드 서버는 두 가지가 있습니다. 한 가지는 구글 클라우드이며, 다른 한가지는 오라클 클라우드입니다.
오라클 클라우드는 카드 인증할때 에러가 자주 나긴 하는데, 이것만 넘기면 평생 무료로 사용할 수 있는 장점이 있습니다.
구글 클라우드는 3개월 한정 무료로 제공해 주는데 성능도 좋고 사용하기는 아주 좋습니다.
티스토리를 포함하여 웹사이트의 주소가 변경되는 경우 이전 주소를 1:1로 매칭시켜서 redirect를 할 수 있습니다.
하지만, 이것을 하기위해서는 웹 서버가 필요합니다.
저는 오라클 클라우드에서 무료로 할당받은 서버에 nginx를 통해 HTTP redirect를 하는 법을 적용하였습니다.
Table Of Contents
1. nginx 설치하기
Ubuntu에서 Nginx를 설치하는 과정은 다음과 같습니다.
먼저, 시스템 패키지를 업데이트합니다.
sudo apt update
Nginx를 설치합니다.
sudo apt install nginx
설치가 완료되면 Nginx 서비스를 시작합니다.
sudo systemctl start nginx
부팅 시 자동으로 Nginx 서비스를 시작하도록 설정합니다.
sudo systemctl enable nginx
이제 Nginx가 설치되었고 실행 중입니다. 필요에 따라 Nginx 구성 파일을 수정하여 웹 서버를 설정할 수 있습니다. 일반적으로 구성 파일은 /etc/nginx/nginx.conf에 위치합니다.
하지만, nginx.conf를 수정할 필요는 없고, nginx의 site 설정을 해주면 됩니다.
2. nginx의 사이트 설정하기
다음으로 nginx의 사이트를 설정해 봅니다. 사이트 설정은 다음의 디렉토리에 먼저 사이트 구성 설정 파일을 생성합니다.
/etc/nginx/sites-available/
위의 디렉토리에는 default 설정파일이 있습니다.
우리는 신규 사이트 설정을 하면 되기 때문에 redirect라는 파일을 생성합니다.
파일의 내용은 아래와 같이 작성하면 됩니다.
server {
server_name 이전도메인주소
return 301 http://신규도메인주소$request_uri;
}
이후 redirect 파일이 적용되도록 하기 위해서 기존의 설정을 제거하고 redirect 파일을 소프트 링크를 걸어줍니다.
실제 nginx에서 보는 사이트는 /etc/nginx/sites-enabled/ 디렉토리의 파일이 됩니다.
그러므로, 다음의 명령을 순서대로 실행합니다.
rm /etc/nginx/sites-enabled/default
ln -s /etc/nginx/sites-available/redirect /etc/nginx/sites-enabled/
이제 nginx를 재시작합니다.
sudo systemctl restart nginx
3. https 보안 인증서 적용하기
이제 적용이 되었지만, https의 보안 인증서를 적용해야합니다. 무료로 받은 Ubuntu서버에서 Certbot을 사용하여 Let's Encrypt SSL 인증서를 받는 과정은 다음과 같습니다.
먼저, Certbot 및 Let's Encrypt 패키지를 설치하기 위해 다음 명령어를 사용하여 저장소를 추가합니다.
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
Certbot을 설치합니다.
sudo apt install certbot python3-certbot-nginx
인증서를 발급받을 도메인을 포함하는 Nginx 서버 블록이 구성되어 있어야 하는데, 앞에서 설명드린 서버 블록이 적용되어있으면 됩니다.
Certbot을 사용하여 SSL 인증서를 발급받습니다. 다음 명령어를 실행하면 Certbot이 도메인을 확인하고 Let's Encrypt에서 SSL 인증서를 발급받습니다.
sudo certbot --nginx
위 명령어를 실행하면 도메인 목록이 표시되고, 인증서를 발급받을 도메인을 선택할 수 있습니다. 선택하고 나면 Certbot이 자동으로 Nginx 구성 파일을 업데이트하고 SSL 인증서를 설치합니다.
참고로, nginx에서 여러개의 서버 블록을 구성하여 여러 도메인을 한꺼번에 redirect시킬 수도 있습니다.
오늘은 도메인을 이전시 https redirect를 nginx로 하는 법을 알아보았습니다.
오늘 설명드린대로 진행하시면 이전 주소로 접속하는 모든 URL을 신규 URL로 redirect 시킬 수 있습니다.