댓글 목록

도메인 연결 및 SSL설정

페이지 정보

작성자 운영자 작성일 20-10-13 13:09 조회 1,321 댓글 0

동영상 강좌는 유튜브 채널 '웹학교'를 이용하시기 바랍니다.

1. 도메인 연결


도메인은 사람이 인식하는 인터넷 사이트의 주소입니다.


기계(프로그래밍)가 인식하는 인터넷 사이트의 주소는 주소로 이루어진 IP주소입니다.


그리고 도메인은 IP주소와 연결이 됩니다.


사람이 브라우저 주소창에 도메인을 입력하고 클릭하면 기계가 해당 도메인에 해당하는 IP주소를 찾아서 사람에게 정보를 보여줍니다.


초창기에는 .com, .net, .org 그리고 나라별로 2자리 도메인 정책이 있었습니다. (예: co.kr, ne.kr, or.kr ...)


인터넷의 폭발적인 인기와 확대로 지금은 수백개 종류의 도메인이 사용되고 있으며 지금도 계속 확장하고 있습니다.


도메인을 조금 더 공식적인 유형으로 살펴보면

  • TLD - Top Level Domains : 인터넷의 DNS 구조에서 가장 높은 수준에 있습니다.
TLD는 다음과 같이 구분됩니다.
  • ccTLD - country code Top Level Domains : 지리적 위치에 대해 설정된 두 글자 도메인 예를 들면, .kr, .cn
  • gTLD - generic Top Level Domain : 전 세계 어디서나 누구나 등록 할 수 있는 .com, .net, .org 같은 도메인. 수백개의 도메인 유형이 최근에 늘어나고 있으며 일부 유형은 등록에 제한 사항이 있습니다.
  • IDN ccTLD - internationalised country code top-level domains : 라틴어가 아닌 문자 집합으로 표시 할 수 있도록 특별히 인코딩 된 형식의 최상위 이름

으로 구분할 수 있습니다.


TLD는 다시 아래와 같이 세분화된 수준의 도메인이 있습니다.

  • Second level - DNS 계층 구조에서 TLD 바로 아래 (예 : .co.kr, naver.com)
  • Third level - DNS 계층 구조에서 두 번째 수준 바로 아래. (예 : 365ok.co.kr, 두 번째와 세 번째 수준의 차이는 약간 혼란스러울 수 있습니다. 예를 들어 naver.com은 두 번째 수준 도메인으로 간주되지만 365ok.co.kr는 세 번째 수준으로 분류됩니다.)
  • Subdomain - DNS 계층 구조에서 상위 도메인 이름의 일부입니다. (예 : shop.365ok.co.kr, subdomain은 공인도메인으로 보기 어려우며 웹서버단에서 다양하게 활용될 수 있습니다.)


온라인에서 무료도메인으로 명명된 것들은 일반적으로 공인도메인이 아닌 Subdomain을 제공할 가능성이 높습니다. 일부 무료 도메인은 인구가 정말 적어서 섬나라에 할당된 ccTLD를 거의 사용할 일 없는 경우 해당 ccTLD를 활용하는 경우도 있습니다. (예: https://www.freenom.com/)

참고로 이 사이트에서 제공하는 ccTLD는 아래와 같습니다.

  • tk - 뉴질랜드령 토켈라우제도 (Tokelau)
  • ml - 말리 (Mali)
  • ga - 가봉 (Gabon)
  • cf - 중앙아프리카공화국 (Central African Republic)
  • gq - 적도 기니 (Equatorial Guinea)

로컬환경에서 홈페이지를 제공할 때 사용할 수 있는 또 다른 옵션으로 ngrok에서 제공하는 무료 도메인이 있습니다. 


공인 도메인은 도메인 서비스 업체에서 유료로 등록해야 합니다. 영구적인 구입은 없고, 1년 또는 다년간 임대형식입니다. 최대 10년까지 등록이 가능합니다. 그리고 만료일 전에 유료 연장해야 계속 소유할 수 있습니다. 결국 naver.com이란 도메인도 네이버가 계속 연장이라는 과정을 거치지 않으면 네이버가 아닌 타인이 소유할 수도 있다는 얘기입니다.


도메인을 구입한 후 서비스하고 있는 호스팅 IP주소와 연계하기 위해서는 DNS라는 것이 필요합니다. 호스팅 회사에서 제공하는 네임서버 정보를 도메인 등록정보에 반영해야 합니다. (네임서버 예 :ns.abc.com, ns2.abc.com)


그리고 웹서버에서 해당 도메인을 서비스하는 실제 물리적인 위치와 프로그램으로 연결해야 합니다. 예를 들어, /home/abc 라는 곳에 홈페이지 소스가 들어가 있다면 등록 도메인이 해당 위치를 가리키도록 웹서버 설정을 해야 합니다.


2. SSL 설정

SSL(Secure Socket Layer)는 보안 프로토콜입니다. 브라우저 주소창에 입력하는 http(s)://365ok.co.kr 에서 http다음에 오는 s가 사실 이런 엄청난 의미를 갖고 있습니다.

초기 http 웹 프로토콜은 보안 문제를 안고 있습니다. 그래서 기존에도 카드 정보같은 중요 정보가 전달되는 쇼핑몰에서는 SSL적용이 의무사항이었습니다.

그런데 최근에 브라우저의 대표격인 구글의 크롬에서 모든 웹사이트에 https를 강력히 권고하고 있습니다.

그리고 대부분의 현대 브라우저 및 IT기업들이 이에 동조하고 있습니다. 그래서 과거에는 SSL 적용에 많은 비용이 들었지만 최근에는 보급형 및 무료로 적용할 수 있는 서비스들이 늘어가고 있습니다.

무료 인증서로 대표적인 것이 Letsencrypt가 있습니다. 그래서 요즘엔 SSL적용하기가 많이 수월해졌습니다.

또한, 많은 호스팅 업체 및 클라우드 업체들이 일정 조건을 만족하면 무료로 SSL을 지원하기도 합니다.


http와 https의 기술적 차이는 구글링 하면 많은 정보를 얻을 수 있습니다.

일단은, 서버와 브라우저간에 데이타를 주고 받을 때 누구나 엿볼 수 있는 텍스트형식인지 아니면 절대 엿볼 수 없는 암호형태인지의 차이라고 이해하면 됩니다.


적용방법


호스팅 서비스를 받고 있다면 인증서를 구입하면 호스팅 회사에서 적용해 줍니다. 서버작업이 필요하기 때문입니다.


클라우드나 서버호스팅 같은 직접 서버 작업이 필요할 경우는 메뉴얼에 따라 직접 설치를 하고 인증서 발급을 받아야 합니다.


로컬(localhost)에서도 공인은 아니지만 사설 SSL설치가 가능합니다.

개발환경 자체에서 제공하는 SSL이 있습니다. MAMP도 관련 사이트에 접속하면 이와 관련한 설명글을 찾을 수 있습니다.


Minaca로 localhost를 위한 인증서 발급도 가능합니다.

>go get -u github.com/jsha/minica
>mkdir certs; cd certs

>minica -domains www.localhost,localhost -ip-addresses 127.0.0.1
인증서는 2년 30일간 유효하다고 합니다.
 



댓글목록 0

등록된 댓글이 없습니다.