RadarURL
Skip to content
조회 수 3540 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
SSL인증서를 사용할 때, https는 왜 도메인기반 virtual host가 안되는가에 대해서 http://linuxchannel.net/board/read.php?table=qna&no=6427 에 2006년 1월에 답변한 내용을 정리한 것이다. 단일도메인 인증서(인증서 1개에 하나의 도메인만 갖고 있음)를 기준으로 답변한 내용이다. 와일드카드 인증서(*.foo.com 형태의 인증서)와 멀티인증서(foo.com, bar.com 등 여러 도메인을 하나에 넣은 인증서. 즉, Common Name(CN)을 여러개 갖고 있음)는 1개의 인증서로 같은 IP, 같은 포트(443)로 여러 도메인의 SSL 서비스가 가능하다.

한편 Channy's Blog( http://channy.creation.net/blog/?p=444 )에 따르면 TLS 프로토콜(RFC 2246)의 확장 규약(RFC 3546)에서 웹 서버와 브라우저 사이의 통신을 할 때 서버명을 미리 보내는 SNI(Server Name Indication)을 추가하였다고 한다. 따라서, 브라우저와 서버가 지원하게 되면 쉽게 virtual 설정이 가능할 날이 올 것으로 보인다.

----------------------------------------------------------------------------------------------------
글쓴이 : 좋은진호
글쓴날 : 2006년 01월 10일

     [이현철]님이 남기신 글:

> 상용화용 CA와 서버에서 만든 CA(테스트용 CA)를 사용할 경우
> 다른점은 단지 웹브라우저 접속시 서버에서 만든 CA를 사용해서 서명한 사이트 경우에는 경고창이 뜬다는것으로 알고 있습니다.
> (신뢰성이 없는 사이트라는 형태의 메세지)
>
> 상용화 CA라는것을 사용하는 이유는 신뢰성을 믿고 사이트를 이용해도 된다는 판단이라고 생각합니다.
>
> 그 이외 기능은 같다고 생각합니다.(암호화 처리)
    
예. 그렇습니다.

사설인증서를 사용하더라도 테스트는 동일하게 하실 수 있으며,
내부용으로 사용하는 것이나 단지 암호화를 위한거라면 사설인증서를 사용해도 됩니다.

> ----------------   ------------------ --------------------
> 현재 1대서버에 2개의 도메인이 존재하고 두개의 도메인 전부(http)웹서비스 그리고
> 하나의 도메인에 관해서만(https) 이용하고있습니다.(상용화키를 이용하지 않음-테스트용ca를 가지고 https형태로 이용중)
>
> httpd.conf에는
> ---------------------------------------------------
> <VirtualHost xxx.xxx.xxx.xxx:80>
>    ServerAdmin xxxxxxxxx
>    DocumentRoot /home/xxxxxxx
>    ServerName zec.gigaprize.co.jp
>    ErrorLog logs/error.log
>    CustomLog logs/access.log common
> </VirtualHost>
> <VirtualHost xxx.xxx.xxx.xxx:80>
>    ServerAdmin xxxxxxxxx
>    DocumentRoot /home/xxxxxxx
>    ServerName gourmet-star.gigaprize.co.jp
>    ErrorLog logs/error_1.log
>    CustomLog logs/access_1.log common
> </VirtualHost>
> ---------------------------------------------
>
> http://zec.gigaprize.co.jp/index.html (현재 index.html와 존재하지 않치만 도메인까지 접속은 가능함)
> http://gourmet-star.gigaprize.co.jp/index.html (현재 test용 index.html)이 존재함
>
> ----------------------------------
> ssl.conf에는
> ----------------------------------
> <VirtualHost _default_:443>
> #   General setup for the virtual host
> DocumentRoot /home/xxxxxxx
> ServerName gourmet-star.gigaprize.co.jp:443
> ErrorLog logs/ssl-error_log
> TransferLog logs/ssl-access_log
> -----------------------------------------------
> gourmet-star.gigaprize.co.jp 만 https(ssl)형태로 설정이 되어 있음.
>
> ----
> 실제 접속을 해보시면 알시겠지만 https://gourmet-star.gigaprize.co.jp/index.html
> 제대로 접속이 되고 있습니다.
>
> 그런데
> https://zec.gigaprize.co.jp/index.html
> 로 접속해보면 이 도메인도 https로 접속되어 버립니다.(index.html은 실제 존재하지 않는데, 내용을 보면 gourmet-gigaprize.co.jp 형태로 접속해버립니다.(웹브라우저 URL은 zec.gigaprize.co.jp 인데 index.html은
> gourmet-star.gigaprize.co.jp 내용이 보이고 있습니다)
>
> -------질문 1입니다..-----------------
> 위의 결과를 보면 1대의 서버에 443의 포트로 요청이(https가 설치되어있지않은 도메인도 ) ssl.conf에 설정된 도메인으로 결과를 보여주고 있는데 이것이 정상인지요?
> 개인적으로 https 설정되지 않은 도메인 경우에는 80은 보여주지만
> 443관해서는 에러가 나는 것이 정상이라고 생각하는데, 아니면 제 설정이 잘못되었습니까?
>------------------------------------

정상적인 현상입니다.
이유는 아래 질문에서 답변.

> --------질문2입니다-------------------
> 그리고 위의 두개 도메인을 전부 https형태로 시험해봤지만.
> (ssl.conf에 버츄얼로 두개의 도메일 등록-물론 ca와 각각 도메인별로 만들었음-테스트용 ca를 사용)
>
> 두개의 도메인을 등록 후 아파치설정 syntax테스트
> #sh apache2/bin/apachectl configtest
> Syntax OK
> 그리고 restart 한후 error.log를 보면 기존의 443포트가 이용하고 있기때문에 apachessl를 기동할수없다고 나옵니다.
> 결국 한대의 서버에 443포트는 하나의 도메인만 움직일수 있다는 결론인데요.(80포트는 몇개의 도메인을  띄울수있는데 말이죠)
>
> 결국 한대의 서버에 하나의 도메인만 https형태로 작동하는지요.
> --------------------------------------------------------------
> (상용화 CA사이트에 보면 700달러 정도주면 서브도메인(aaa.domail.com ,
> bbb.domail.com) 까지 전부 대응하는 CA도 팔고 있는데요..
> --------------------------------------------------------------

우선 처음 질문올릴 때 말씀하신, 여러 도메인을 SSL로 서비스를 한다면

1) 한 서버에 여러 IP를 할당하고, 웹서버는 각각의 IP에 바인딩해서 올리셔야 합니다.
   또는 https 포트를 443외에 각 도메인별로 다르게 하여 바인딩하거나.

2) 완전히 다른 서버에 한대당 하나의 도메인을 사용해야 합니다.

http(80포트)에서 virtual host 설정하는 것처럼 https를 도메인기반 virtual 설정으로는 안됩니다.

이유는 프로토콜의 계층만 이해하면 간단합니다.
HTTPS로 표시되는 SSL프로토콜층은 HTTP보다 하위에 있습니다.
그런데 웹서버의 virtual host설정에 의한 도메인정보는 HTTP의 헤더에 붙어있습니다.
즉, SSL프로토콜은 HTTP보다 하위이니 HTTP의 헤더를 이해를 못하는 것이겠죠.
따라서 도메인기반 virtual host설정과는 다르게 어떤 도메인으로 들어오든 첫 설정에 따라 결정이 되는겁니다.

layer는 http://coffeenix.net/doc/network/ssl_fig3.gif 에서 볼 수 있고,

0.gif

이유는 http://www.modssl.org/docs/2.8/ssl_faq.html 에서 볼 수 있습니다.
    
Why can't I use SSL with name-based/non-IP-based virtual hosts?

The reason is very technical. Actually it's some sort of a chicken and egg problem: The SSL protocol layer stays below the HTTP protocol layer and encapsulates HTTP. When an SSL connection (HTTPS) is established Apache/mod_ssl has to negotiate the SSL protocol parameters with the client. For this mod_ssl has to consult the configuration of the virtual server (for instance it has to look for the cipher suite, the server certificate, etc.). But in order to dispatch to the correct virtual server Apache has to know the Host HTTP header field. For this the HTTP request header has to be read. This cannot be done before the SSL handshake is finished. But the information is already needed at the SSL handshake phase. Bingo!

 

 

출처 : http://truefeel.tistory.com/79

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
51 아파치 mod rewrite 모듈 사용관련 옵션 JaeSoo 2013.04.18 3678
50 Apache rewrite 사용 방법 - 특정 URL이 입력되면 다른 URL로 연결 JaeSoo 2013.04.08 4574
49 apache용 ewrite rule (htaccess)을 nginx rewrite rule로 변환 JaeSoo 2013.04.06 3696
48 윈도우에서 아파치2.2.2, Php5.3.13, FastCGI 설치하기 JaeSoo 2013.03.08 3366
47 Apache eating up 100% of cpu load with only 12req/s (아파치 웹서버가 CPU 점유율 100%가 될때) JaeSoo 2013.03.08 4507
46 Apache2 openssl on Winows XP (https 접속) JaeSoo 2013.03.01 3591
45 SSL 구축 및 OpenSSL 설명 JaeSoo 2013.03.01 3435
44 한 서버에 여러개의 SSL 인증서 사용 하는 방법 JaeSoo 2013.03.01 4120
43 Apache 2.0 에서 여러 도메인에 SSL 인증서 적용하기 JaeSoo 2013.03.01 3099
42 VirtualHost SSL 가능해진다? JaeSoo 2013.03.01 1953
» SSL 운영(https)시 도메인기반 Virtual host가 안되는 이유 JaeSoo 2013.03.01 3540
40 Apache Redirect 설정 팁 - http또는 https로 접속 시 www를 항상 자동으로 붙히기 JaeSoo 2013.02.28 4187
39 보안서버(SSL) 도입 의무화를 위반하면?? JaeSoo 2013.02.26 3070
38 보안서버 구축 의무화, A부터 Z까지 ("이달부터 벌금?"…) JaeSoo 2013.02.26 3456
37 SSL apache 설치하기 - 출처 : 한국정보인증 다운로드 문서 JaeSoo 2013.02.26 2488
36 아파치 환경에서의 SSL 구성하기 JaeSoo 2013.02.26 1635
35 SSL 의 적용 Apache 2.2 JaeSoo 2013.02.26 2839
34 APMSETUP에 SSL 보안 적용 JaeSoo 2013.02.26 4467
33 윈도우에 아파치 설치 2.2.3 httpd.conf 완전분해 JaeSoo 2013.02.20 4987
32 Apache 버전 확인방법 JaeSoo 2013.02.20 1203
Board Pagination Prev 1 2 3 4 Next
/ 4

PageViews   Today : 118 Yesterday : 16624 Total : 21708293  /  Counter Status   Today : 99 Yesterday : 943 Total : 1138680

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소