상황 및 결과값
내가 구매한 도메인은 heegenius.com
원하는 결과값: www.heegenius.com을 입력했을 때, 자동으로 heegenius.com으로 연결 시키기
참고: bitnami 설치형으로 WordPress를 설치함
(여러 도메인을 하나의 도메인으로 합치는 것과는 다르고,
그냥 www와 논www 리다이렉션을 원하는 상황)
작업 순서
순서 | 내용 |
---|---|
1 | Route 53에서 www → heegenius.com 도메인 레코드 연결 (이미 Lightsail로 옮겨진 경우 Lightsail에서 레코드 연결) |
2 | Apache에서 www 요청을 heegenius.com 으로 리다이렉션 |
3 | SSL 인증서에 www 도메인 포함 확인 |
www
용 DNS 레코드 설정목표: www.heegenius.com
을 heegenius.com
으로 유도하기 위해 www
서브도메인을 처리할 수 있는 레코드를 만들거나 수정해야 함
방법 1 (Lightsail에 아직 도메인을 연결하지 않았을 때):
heegenius.com
선택Record name: www
, Record type: A
, Value: heegenius.com의 Lightsail static IP
Record type: CNAME
, Value: heegenius.com
권장: CNAME 방식이 가장 깔끔함 (단, apex 도메인에선 CNAME 못 씀. 하지만
www
는 가능)
방법 2 (Lightsail에 도메인을 이미 연결했을 때)
Lightsail에 도메인을 연결해버리면 별개의 자체 DNS Zone으로 이동한다. 따라서 Route 53이 아닌 Lightsail 쪽에서 입력해주어야 한다.
Type: CNAME
Subdomain: www
Target: heegenius.com
이러면 www.heegenius.com
DNS 요청이 heegenius.com
으로 매핑됨
Lightsail WordPress는 기본적으로 Apache를 사용
따라서 www
→ apex 리다이렉션을 Apache에서 처리해줘야 함
참고로 서버에 접속해서 파일을 수정하기 위해서는 FTP를 연결해야 하는데, 해당 방법은 다른 포스팅에 작성해 두었음. 나는 FTP로 연결한 뒤 메모장으로 수정하는 방식으로 진행하였음. (터미널에서 nano 편집기 등을 이용해도 무방)
.htaccess
수정 (가장 쉬움)ssh -i your-key.pem bitnami@your-lightsail-ip
).htaccess
위치 찾기 (보통 /opt/bitnami/wordpress/.htaccess
)<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.heegenius\.com$ [NC]
RewriteRule ^(.*)$ https://heegenius.com/$1 [L,R=301]
</IfModule>
그런데 이렇게만 했을 경우 Bitnami Lightsail WordPress는 .htaccess를 무시할 수도 있으니 아래 방법 추천 (나의 경우에도 동작 안 함)
1. 접속 경로
sudo nano /opt/bitnami/apache2/conf/bitnami/bitnami.conf
2. <VirtualHost _default_:80>
또는 <VirtualHost _default_:443>
블록 내에 아래 코드 두 줄 추가:
<VirtualHost *:80>
ServerName www.heegenius.com
Redirect permanent / https://heegenius.com/
</VirtualHost>
3. 저장 후 서버에 접속해서 SSH로 Apache 재시작: (Lightsail 대시보드에서 connect using ssh를 이용하여 편리하게 재시작하자.)
sudo /opt/bitnami/ctlscript.sh restart apache
www.heegenius.com
입력heegenius.com
으로 자동 이동하면 성공나는 해당 방법으로 www를 입력했을 때 없는 사이트로 리다이렉션 성공이 간단히 완료되었다.
하지만 여기서 끝내지 말고, 아래 3단계인 SSL 인증도 빼먹지 말고 하자.
3. SSL 인증서에 www 도메인 포함시키기
Let’s Encrypt를 Lightsail에서 자동 발급한 경우, 기본적으로 www
포함 안 될 수도 있음.
다시 발급 시 서버에 SSH로 접속해서 아래처럼 입력
sudo /opt/bitnami/bncert-tool
도메인 리스트에 원하는 heegenius.com
과 www.heegenius.com
입력
이제 관련하여 질문이 나오는데 나는 www to non-www를 원하므로 다음과 같이 질문에 답변하였다. (Y/N/Y)
그러면 이제 대충<Apache를 일시정지하고 설정 변경을 준비한다, 두 도메인에 Let’s Encrypt SSL 인증서가 모두 포함된다, 인증서 자동 갱신 설정 (cron job)이 작동된다, servername을 heegenius.com으로 설정한다, https 리디렉션 시킨다… 그 다음 재시작한다>는 확인 내용이 뜬다.
정상적으로 되었으면 별 문제 없으니 Y를 눌러준다.
Success까지 표시되면 끝이다.
정상적으로 리디렉션되는 모습을 확인하면 정말 끝이다.
(혹시 설치형 워드프레스 블로그 초기 설정을 하고 있다면, 잊지말고 관리자 화면 permalink 메뉴에서 주소 설정도 해두자.)
댓글 편집
Leave A Comment