IT이야기2008. 1. 18. 21:48
YouTube와 이름이 비슷한 Youku.com 이 2007년 12월에 1일 동영상 조회 건수가 1억건을 돌파했다고 한다. Nielsen/NetRatings SiteCensus업체의 조사에 따른 것이며, 1일 유니크한 방문자는 1천2백만여건, 웹페이지뷰는 1억 3천9백만건이다.

사용자 삽입 이미지

    User Data for Youku.com, Dec 10-16, 2007

                                Abbreviation          Youku's Statistics
    Video View (Peak)           Daily VV (Peak)              107,149,596
    Unique Browsers             Daily UV (Peak)               12,678,592
    Web Page Views (Peak)       Daily PV (Peak)              139,137,012
    Weekly Video View           Weekly VV                    641,850,851
    Weekly Unique Browsers      Weekly UV                     53,882,010
    Weekly Web Page Views       Weekly PV                    824,639,429
    Source: Nielsen/NetRatings SiteCensus Dec.10th-Dec.16th.

 출처 : Youku.com, Premier Chinese Online Video Sharing Website, Surpasses 100 Million Daily Video Views

2006년 12월에 런칭해서, 2007년 10월에 1일 3천만건 조회에서 12월에 1억건 조회로 급성장을 했다. Youku.com의 설립자이자 CEO인 Victor Koo의 인터뷰에서도 알 수 있듯이 2008년 하반기에 1억 돌파할 것으로 예상했으나 그보다 빨리 돌파할 정도로 급성장을 했다.

한편, Youtube는 2005년 2월 설립하여 같은 해 12월에 서비스를 시작한다. 2006년 7월에 1일 1억건을 돌파했으며, 같은해 10월에 구글에 인수된다. 어제 발표에 따르면 한국어 서비스를 곧 시작한다고 한다. 서비스를 런칭하게 되면 도메인은 kr.youtube.com, youtube.kr 이 될 것으로 보인다.

Youku.com은 국내의 TNC, 판도라TV, Peering Portal(그리드 형태의 파일공유기술을 갖고 있는 업체) 등과 함께 레드헤링(Red Herring)에서 발표한 2007 아시아 100대 기업으로도 선정되었다. 또한 2007년 7월에는 China Internet Society 조사에 따르면 동영상 공유 카테고리 1위를 차지했다.

간단히 Youku.com 사이트를 살펴보았다. 역시 국내에서 중국의 동영상 서비스를 보는 것은 슬로우모션을 보는 것처럼 느리게 스트리밍이 되었다. 플레이어는 심플한 형태. 국내 연예인의 동영상은 쉽게 찾을 수 있다.

사용자 삽입 이미지

Posted by 좋은진호
일상2008. 1. 13. 20:06
- 성인 1일 야채섭취 권장량 : 350g

- 성인 1일 열량 권장량

보통 남성 2,500kcal, 여성 2,000kcal
국제식량기구(FAO) 기준으로는 남성 3,000kcal, 여성 2,200kcal

- 웃음 1일 권장량

책 '지식 e 2'에는 1회 10초 이상 (아주 큰소리로), 하루에 10회 이상 (아주 큰소리로)이라고 얘기하고 있다.

그렇다면 지식의 1일(1년) 권장량은? ^^

지식의 권장량을 수치로 표기한다는 것 자체가 우스울 수 있다.
그 수치에 대해 진지하게 생각해본 적도 없으나, 독서, 뉴스보기, 공연관람, 영화감상 등의 통계 자료를 찾아봤다. '지식 e'에서는 '우리에게 필요한 지식은 암기하는 정보가 아니라 생각하는 힘이다.'라고 얘기한다. '난 하루에 몇 번 생각한다'처럼 '생각' 자체를 통계적 수치로 찾아보는 건 너무 힘들어서 뺐다. ^^

< 독서 >

- 2006년 성인 평균 독서량은 11.9권 (국립중앙도서관 발표)
  즉, 1달에 1권. 300페이지 기준으로 할땐 하루에 10페이지를 읽는 셈이다. 한권도 읽지 않은 사람도 24.1%나 된다.
- 2006.6~2007.6까지 1년간 평균 독서량은 10.5권. 20대는 17.2권, 30대는 13.9권 (통계청 7만여명 조사 결과)
- 미국인 하루 평균 독서시간은 20분 (미국 노동부 자료)
  나이가 많을수록 증가하고, 25~34세는 9분.

< 뉴스 >

- 네티즌 하루 뉴스보는 시간 6.89분 (연세대 신문방송학과 김은미 교수 발표, 2007년)

< 문화 >

- 2007년 극장영화 관람은 12.6편 (영화진흥위원회 2358명 설문조사 결과)
- 2006.6~2007.6까지 공연 및 스포츠 경기 1년 평균 관람횟수는 7회 (통계청 7만여명 조사 결과)

< 기타 >

- 대학생이 하루 평균 가족과 대화하는 시간 약 42분 (아르바이트 구인구직 사이트 설문조사 결과, 2008년)
  이 수치를 이 글에 포함한 것은 가족간의 대화가 생각을 나눌 수 있는 좋은 시간이라 여겼다.

사용자 삽입 이미지
                        (이미지 출처 : 경향신문)

'하루 야채', '유기농 새싹야채'등 야채섭취량을 채우기 위한 제품들이 있다. '하루 야채'는 작년 1월기준 연 700억 매출을 올린다고 한다. 업체의 상업적인 결실이기도 하겠지만, 얼마나 많은 사람들이 일일섭취량을 채우기 위해 마시는지 알 수 있을 것이다.
지식도 그렇다. 평균이상의 사람으로 지식을 습득하려면, 저것 보다 더 많이 얻어내기 위해 노력해야 할 것이다. 머리와 가슴이 배고프지 않으려면 말이다.






Posted by 좋은진호
시스템이야기2008. 1. 10. 19:55
apache 웹로그, php 에러로그, syslog를 통한 로그를 모니터링할 때 특정 문자열에 대해서는 highlight해주면 원하는 부분만 쉽게 볼 수 있을 것이다. 또한 수치를 모니터링하는 경우, 0~59는 양호, 60~79 주의, 80~99는 경고를 나타내기위해 각각 녹색, 파란색, 빨간색으로 표시해준다면, 많은 로그가 순간적으로 스크롤되더라도 눈에 쉽게 띌 것이다.
이 글은 highlight 처리를 해주는 1) sed를 이용한 쉘스크립트와 2) 이보다 더 나은 perl 스크립트를 통해 모니터링하는 방법을 설명한다.

1. sed를 이용한 highlight 스크립트

* view.sh 내려받기

#!/bin/bash
#
# 특정 문자를 highlight한다. (view.sh)
#
# by 좋은진호(truefeel, http://coffeenix.net/ )

# color
szColBk="^[[;30m";      szColBk1="^[[1;30m"     # black
szColRe="^[[;31m";      szColRe1="^[[1;31m"     # red
szColGr="^[[;32m";      szColGr1="^[[1;32m"     # green
szColYe="^[[;33m";      szColYe1="^[[1;33m"     # yellow
szColBl="^[[;34m";      szColBl1="^[[1;34m"     # blue
szColPu="^[[;35m";      szColPu1="^[[1;35m"     # magenta(purple)
szColCy="^[[;36m";      szColCy1="^[[1;36m"     # cyan
szColGy="^[[;37m";      szColWh="^[[1;37m"      # white
szNormal="^[[;m"

#
sed \
        -e "s/^[A-Z][a-z][a-z] *[0-9]* //g" \
        \
        -e "s/ \(192.168.123.[0-9]*\)/${szColGr} \\1$szNormal/g" \
        \
        -e "s/\(httpd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(vsftpd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(proftpd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(ftpd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(sshd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(xinetd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(Connection attempt\)/${szColRe1}\\1$szNormal/g" \
        -e "s/\(authentication failure\)/${szColRe1}\\1$szNormal/g" \
        -e "s/\(BAD SU\)/${szColRe1}\\1$szNormal/g" \
        \
        -e "s/\(nfs server\)/${szColYe}\\1/g" \
        \
        -e "s/$/$szNormal/g"
[/quote]

사용은 tail -f 로그파일명 |./view.sh 형태로 사용하면 된다.

첫번째 부분은 색깔을 정의한 변수이다. 여기서 ^[[;31m ANSI코드로, ^[ 문자는 ESC키를 의미한다. 쉘에서 입력할 때 Ctrl+V를 누른 후 ESC키를 누르면 입력할 수 있다. 색깔은 사용하는 터미널에 따라서 약간 다르게 표시될 수도 있다.

사용자 삽입 이미지


그 다음부터는 sed를 이용해서 문자열을 변환처리하며, 한줄당 하나의 정규표현식을 사용하였다. 부분적으로 살펴보자.

 1:     -e "s/^[A-Z][a-z][a-z] *[0-9]* //g" \

기본적으로 -e s/변환전문자열/변환후문자열/g 형식을 사용하는데, 위는 syslog를 통해 남은 로그중 'Oct 30'과 같이 '월일'을 표시하지 않기 위한 정규표현식이다.
 
 1:     -e "s/ \(192.168.123.[0-9]*\)/${szColGr} \\1$szNormal/g" \
 2:     \
 3:     -e "s/\(httpd\)/${szColCy}\\1$szNormal/g" \
 4:     -e "s/\(vsftpd\)/${szColCy}\\1$szNormal/g" \

첫번째줄은 특정 IP대역을 highlight하기 위한 것으로 서버의 IP, 접속하는 PC의 IP등을 한줄에 하나씩 적어주면 좋을 것이다. 두번째줄의 \ 은 보기 좋게 구분하기 위한 것이며, 세번째와 네번째줄은 각각 httpd와 vsftpd를 highlight한다.

 1:     -e "s/\(nfs server\)/${szColYe}\\1/g" \
 2:     \
 3:     -e "s/$/$szNormal/g"

첫번째줄은 'nfs server'로 문자열이 나온다면, 해당 줄 끝까지 highlight한다. ${szColYe}\\1과 server과 ${szColYe}\\1$szNormal 의 차이를 생각하면 쉽게 이해가 될 것이다. 세번째줄은 줄의 끝부분에서 색깔 표시는 정상으로 돌려놓으라는 의미이다.

2. perl을 이용한 highlight 스크립트


위의 예제를 통해서 원하는 문자열을 원하는 색깔로 highlight하는 것은 쉽게 할 수 있을 것이다. 이젠 perl이용한 방법을 소개한다.

* view.pl 내려받기

#!/usr/bin/perl
#
# 특정 문자를 highlight한다. (view.pl)
#
# by 좋은진호(truefeel, http://coffeenix.net/ )

# color
$szColBk ="^[[;30m";    $szColBk1 ="^[[1;30m";  # black
$szColRe ="^[[;31m";    $szColRe1 ="^[[1;31m";  # red
$szColGr ="^[[;32m";    $szColGr1 ="^[[1;32m";  # green
$szColYe ="^[[;33m";    $szColYe1 ="^[[1;33m";  # yellow
$szColBl ="^[[;34m";    $szColBl1 ="^[[1;34m";  # blue
$szColPu ="^[[;35m";    $szColPu1 ="^[[1;35m";  # magenta(purple)
$szColCy ="^[[;36m";    $szColCy1 ="^[[1;36m";  # cyan
$szColGy ="^[[;37m";    $szColWh  ="^[[1;37m";  # white
$szNormal="^[[;m";

#
$szBeep="\a";

#
while(&lt;STDIN&gt;) {
    # log에서 필요없는 부분 삭제
        s/^[A-Z][a-z][a-z] *[0-9]* //g;

    # IP
        s/(192\.168\.123\.[1-9][0-9]{0,2})/$szColGr$1$szNormal/g;

    # 줄 끝은 정상 색으로 변경
    s/$/$szNormal/;

    # 원하는 문자열에 색을 입힌다
        s/(httpd)/$szColCy$1$szNormal/g;
        s/(vsftpd|proftpd|ftpd)/$szColCy$1$szNormal/g;
        s/(sshd)/$szColCy$1$szNormal/g;
        s/(xinetd)/$szColCy$1$szNormal/g;
        s/(Connection attempt)/$szColRe1$1$szNormal/g;
        s/(authentication failure)/$szColRe1$1$szNormal/g;
        s/(BAD SU)/$szColRe1$1$szNormal/g;

    # 원하는 문자열을 찾으면 줄 끝까지 색을 읽힌다.
        s/(nfs server)/$szColYe$1/g;

    print $_;
}

사용은 shell스크립트를 사용할 때와 동일하게 tail -f 로그파일명 |./view.pl 형태로 사용하면 된다.

 1:     s/(192\.168\.123\.[1-9][0-9]{0,2})/$szColGr$1$szNormal/g;
 2:     ... 생략...
 3:     s/(vsftpd|proftpd|ftpd)/$szColCy$1$szNormal/g;

첫번째줄에서 192\.168\.123\.[1-9][0-9]{0,2} 은 sed를 이용할 때보다 더 정교하게 IP를 체크한 것으로, 1) 192.168.123. 시작하는 IP대역 2) 그 다음 1~9까지 숫자이고, 그다음에 숫자가 오게된다면 0~9까지 숫자가 0자리~2자리까지 가능하다. 정규 표현식에 대한 자세한 사항은 이 글의 주제를 벗어나는 내용이므로 '4 참고 자료'를 살펴보기 바란다. 세번째줄은 vsftpd, proftpd, ftpd 등의 문자를 highlight한다.

다음은 위의 스크립트를 이용하여 로그를 모니터링한 화면이다.
사용자 삽입 이미지


3. 수치에 따라 다른 색으로 표시

어떤 로그에 수치가 다음과 같이 실시간으로 쌓인다고 가정하자. 그리고, 그 수치는 'disk 54'와 같은 형태로 되어 있다.

---------  ------   --------
측정수치    상태     색깔
---------  ------   --------
0~59       양호      녹  색
60~79      주의      파란색
80~100     경고      빨간색
---------  ------   --------

다음은 perl을 이용하여 색을 표시하는 예이다. 그리고, 수치가 80이상일 땐 beep음을 발생한다. 이런한 방법은 서버의 load, disk 사용량, disk I/O, 커넥션 수, 메모리 사용량 등을 모니터링할 때 유용하게 사용할 수 있다.

 s/(disk [0-9][^0-9])/$szColGr$1$szNormal/;
 s/(disk [1-5][0-9][^0-9])/$szColGr$1$szNormal/;
 s/(disk [6-7][0-9])/$szColBl$1$szNormal/;
 s/(disk [8-9][0-9])/$szColRe1$1$szNormal$szBeep/;
 s/(disk 100)/$szColRe1$1$szNormal$szBeep/;

4. 참고 자료

* ANSI color codes
  http://pueblo.sourceforge.net/doc/manual/ansi_color_codes.html
* 정규표현식
  http://coffeenix.net/dir_catagory.php?cata_code=99
* Perl regular expressions
  http://www.perl.com/doc/manual/html/pod/perlre.html
Posted by 좋은진호
IT이야기2008. 1. 5. 01:54
커피닉스( http://coffeenix.net/ )에 작년 12월 말에 오픈마루의 '레몬펜'( http://www.lemonpen.com/ ) 서비스를 붙인 후 블로그에도 붙였다.

사용자 삽입 이미지

'레몬펜'의 개념은 이렇다.
책이나 수첩에 형광펜을 긋거나 포스트잇을 붙이 듯이 인터넷에도 긋고, 붙여보자는 것이다.
오프라인 개념이 온라인으로 파고든 것이다. 웹생태계는 점점 오프라인의 인간생태계를 닮아가고 있다.

레몬펜을 붙인 사이트나 블로그는

- 형광펜으로 그을 수 있다.
- 또한 포스트잇을 붙일 수 있고, 댓글을 달 수도 있다.
- 형광펜으로 긋고, 포스트잇을 붙이면 해당 사이트나 블로그에만 글이 남는게 아니다.
  레몬펜의 스크랩북에 차곡차곡 쌓이게 된다. 작은 것 하나하나가 모여 데이터베이스화 되는 것이다.

단테는 '들은 것을 지식으로 만들어 놓지 않으면 아무 것도 기억할 수 없다.'고 했다.
난 '적어둔 것을 데이터베이스화 하지 않으면 아무 소용없다.'라고 생각하고, 이를 나의 개똥철학으로 삼고 있다. ^^
메모장에 적어둔 것, 여기 저기 붙어놓은 포스트잇, 그냥 수접에 일자에 따라 순차적으로 적었던 내용들...
자기만의 정보분류기준으로 데이터베이스화하지 않으면 시간이 지날수록 점점 버려지거나 쓰레기화되어간다.

레몬펜은 이런걸 너무 잘 알고 있는 것 같다.
하지만 12월에 오픈베타를 시작해서 아직 서비스를 적용한 블로그가 많지 않다.
이런 글을 올려, 조금이라도 빨리 레몬펜 서비스가 보편화되기를 바란다.

아~ 레몬펜을 이용하려면 openID가 필요하다. myID.net 이나 IDtail 에서 만들면 된다.

※ 아직 같은 글은데 URL이 다르면 표시못하는 문제 등은 있다. 현재 개선중임

Posted by 좋은진호
시스템이야기2007. 9. 19. 21:58
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 에서 볼 수 있고,

사용자 삽입 이미지

이유는 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!
Posted by 좋은진호