기존의 내 웹사이트는 www.k-unirank.com 과 같이 www를 포함해서 주소창에 입력해야 정상 접속이 가능하고 그냥 k-unirank.com 만 입력하면 404에러가 발생했다.
문제를 해결하기 위해 웹 서핑을 하던 중 가비아 CNAME의 호스트에 *, @를 넣으면 된다는 말을 듣고 시도해봤지만 실패했다.
그러던 중 pythonanywhere 사이트에서 이런 글을 봤다
https://help.pythonanywhere.com/pages/NakedDomains/
Naked domains
What is a naked domain? When you buy a domain name from a registrar, you become the owner of something like yourdomain.com. What this means is that you can create entries in the Domain Name System th
help.pythonanywhere.com
요약하자면
PythonAnywhere는 "naked domains" 즉, example.com ← www 없이 접속하는 주소를 직접 지원하지 않는다는 말이다.
→ k-unirank.com은 pythonanywhere 웹앱에 직접 연결할 수 없음.
→ www.k-unirank.com처럼 서브도메인으로만 연결 가능함.
→ 포워딩을 사용하자!
그래서 나는 가비아에 접속해 포워딩 신청을 했다.

그러면 DNS 주소에 다음과 같은 두개의 DNS가 추가된다

(원래는 호스트가 www인 A레코드도 있지만 불필요해서 없앴다.)
그리고 한 30분정도 기다리면 주소창에 k-unirank.com 을 입력해도 www.k-unirank.com 으로 포워딩된다!

어느날 내 웹사이트에 접속을 해보니 "연결이 비공개로 설정되어 있지 않습니다 (NET::ERR_CERT_COMMON_NAME_INVALID)"
라는 오류가 뜨며 HTTPS 연결이 막히는 현상이 발생했다. 뭐지? https 인증서 만료되려면 아직 남았는데
곰곰이 생각을 해보니 도메인 포워딩 때문인것 같았다.

화면을 보면 접속 주소가 www.k-unirank.com이 아니라 그냥 k-unirank.com으로 되어있다.
그러니까 인증서는 www.k-unirank.com 기준으로 발급했는데 접속을 k-unirank.com으로 하니까 경고가 뜬 것이다.

실제로 웹을 접속해보면 안전한 연결이라 떴다.
그럼 뭐.. 별 수 있나 포워딩 해제해야지..
앞으로는 www.k-unirank.com만 공식 도메인으로 사용하기로 했다. www.k-unirank.com으로만 접속하면 SSL 오류 없이 안전하게 사이트를 이용할 수 있을 것이다.
다음에는 aws에서 배포해봐야지..
새로운 해결법을 찾았다.
바로 NakedSSL을 도입한 것이다
NakedSSL란?
naked 도메인 전용 리디렉션 + HTTPS 인증서 발급을 지원하는 서비스다.
즉,
- NakedSSL이 제공한 A 레코드 IP
예: 63.177.220.171
이 IP를 @(루트 도메인)의 A레코드로 DNS에 등록하면, 루트 도메인으로 오는 트래픽이 NakedSSL 서버로 향하게 된다.
- NakedSSL 서버는 Let's Encrypt로 SSL 인증서를 발급한다.
→ 이제 https://k-unirank.com도 인증서 오류 없이 안전하게 접속 가능.
- NakedSSL은 루트 도메인 요청을 301 리디렉션으로 https://www.k-unirank.com으로 보내준다.
→ SEO에도 유리하며, 모든 트래픽이 한 도메인으로 통합됨.
1년에 9.90유로를 지불해야하긴 하지만 이정도면 뭐 양반이다.
K-unirank : 2025 대학교 순위 투표 사이트
www.k-unirank.com
'K-unirank' 카테고리의 다른 글
| [Django/K-unirank] 광고로 인한 layout shift 현상 해결법 (0) | 2025.02.25 |
|---|---|
| [Django/K-unirank] 사용자의 투표율 늘리기 (0) | 2025.01.05 |
| [Django/K-unirank] pythonanywhere의 ProxyError (8) | 2024.09.02 |
| [Django/K-unirank] .gitignore를 작성했는데 .gitignore 파일에 적힌 폴더와 파일이 레포지터리에 남아있는 현상 (0) | 2024.08.24 |
| [Django/K-unirank] HTML 파비콘이 상단 메뉴바에는 적용 되는데 구글 검색결과에는 적용이 안되는 건에 대하여 (2) | 2024.07.17 |