방금 Apache 1.3 에서 확인해 보니 당연히 그렇게 되네요. ㅠㅠ
썩 좋아보이는 설정은 아니지만 약간의 꽁수(?)가 필요합니다.
NameVirtualHost x.x.x.x:80
NameVirtualHost x.x.x.x:443
<VirtualHost x.x.x.x:80>
ServerName zec.gigaprize.co.jp
...
</VirtualHost>
<VirtualHost x.x.x.x:80>
ServerName gourmet-star.gigaprize.co.jp
...
</VirtualHost>
...
...
<VirtualHost x.x.x.x:443>
ServerName gourmet-star.gigaprize.co.jp
...
</VirtualHost>
## 이 설정은 나머지 호스트에 대해서 https 사용못하기 위함임
<VirtualHost x.x.x.x:443>
ServerName gigaprize.co.jp ## <-- 이부분
ServerAlias *.gigaprize.co.jp ## <-- 이부분
<Location />
Order deny,allow
Deny from all
</Location>
</VirtualHost>
[이현철]님이 남기신 글:
>산이님이 한번더 여쭈어 볼려고요..
>산이님 조언대로 수정해서 해봤지만 제대로 되지 않네요.
..
>HTTPS가 설정되어 있지않은(80만사용하는)
도메인도
>HTTPS형태로 가버리고 있습니다.
>
>
>현재설정은
>-------------------------
>httpd.conf
>-------------------------------------------
><VirtualHost xxx.xxx.xxx.xxx:80>
> <Location "/">
> Deny from all
> </Location>
></VirtualHost>
>
><VirtualHost xxx.xxx.xxx.xxx:80>
> ServerAdmin network@gigaprize.co.jp
> DocumentRoot /home/xxxx/xxx
> ServerName zec.gigaprize.co.jp
> DirectoryIndex index.html
> ErrorLog logs/zec.gigaprize.co.jp-error.log
> CustomLog logs/zec.gigaprize.co.jp-access.log common
></VirtualHost>
><VirtualHost xxx.xxx.xxx.xxx:80>
> ServerAdmin network@gigaprize.co.jp
> DocumentRoot /home/xxx/xxx
> ServerName gourmet-star.gigaprize.co.jp
> ErrorLog logs/gourmet-star.gigaprize.co.jp-error.log
> CustomLog logs/gourmet-star.gigaprize.co.jp-access.log common
></VirtualHost>
>-------------------------------------------------
>
>#sh> /usr/local/apache2/bin/apachectl configtest
>Syntax OK
>
># /usr/local/apache2/bin/httpd -S
>VirtualHost configuration:
>xxx.xxx.xxx.xxx:80 a NameVirtualHost
> default server
xxxxxxx.ne.jp(/usr/local/apache2/conf/httpd.conf:1081)
>
> port 80 namevhost xxxxxxxxxx.ne.jp
> (/usr/local/apache2/conf/httpd.conf:1081)
> port 80 namevhost zec.gigaprize.co.jp
(/usr/local/apache2/conf/httpd.conf:1087)
> port 80 namevhost gourmet-star.gigaprize.co.jp
(/usr/local/apache2/conf/httpd.conf:1095)
>Syntax OK
>
>---------------------------------------------------------
>
>ssl.conf
>-------------------------------------------------------
>#<VirtualHost _default_:443>
>
># General setup for the virtual host
>#DocumentRoot "/usr/local/apache2/htdocs"
>#ServerName www.example.com:443
>#ServerAdmin you@example.com
>#ErrorLog /usr/local/apache2/logs/error_log
>#TransferLog /usr/local/apache2/logs/access_log
>
>---위와 같은 형태로 전부 코멘트처리 했습니다.그리고
아래와같이 작성했습니다.---------------
>
>------------------새로
ssl.conf에 추가한 부분------------------
><VirtualHost xxx.xxx.xxx.xxx:443>
>DocumentRoot "/home/xxx/xxx"
>ServerName gourmet-star.gigaprize.co.jp
>ServerAdmin network@gigaprize.co.jp
>ErrorLog /usr/local/apache2/logs/ssl_error_log
>TransferLog /usr/local/apache2/logs/ssl_access_log
>SSLEngine on
>SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
>SSLCertificateFile /usr/local/ssl/certs/cert.pem
>SSLCertificateKeyFile /usr/local/ssl/private/key2.pem
></VirtualHost>
></IfDefine>
>-----------------------------------------------------------------
>#apachectl stop
>#apachectl startssl
>
>에러로그를 봐도 별것이 없는데요
># view error_log
>----------------------------------------------------------
>[Tue Jan 10 19:33:07 2006] [notice] caught SIGTERM, shutting down
>[Tue Jan 10 19:33:13 2006] [notice] Digest: generating secret for digest
authentication ...
>[Tue Jan 10 19:33:13 2006] [notice] Digest: done
>[Tue Jan 10 19:33:15 2006] [notice] Apache configured -- resuming normal
operations
>-------------------------------------------------------------
>
>----------------
>현재 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 내용이 보이고 있습니다)
>-----------------
>
>산이님 답변대로 ssl.conf를 수정했는데도 아직 문제 해결이
되지 않네요.
>한번더 조언을 부탁 드립니다..
>
>---------------------------------------------------
>아래 내용은 어떤 프로바이드가 렌탈ssl를 제공시 설정한
예)인데요.
>
>-----------------------------------------------
>○설정예
>https://hogehoge.jp/
>https://hogehoge.net/
>https://hogehoge.co.jp/
>
>각각 ssl를 사용할 경우
>
>최소 3개의 ip가 필요합니다.직접
상담을 해주십시요。
>
>ssl.conf 의 <VirtualHost _default_:443>~</VirtualHost>부분은
>코멘트 처리 .
>
>각각 사이트의 ip 와 192.168.0.1、192.168.0.2、192.168.0.3
경우의 예
>
>---------------------------------------------------
><VirtualHost 192.168.0.1:443>
>DocumentRoot /home/www/hogehoge.jp
>ServerName hogehoge.jp:443
>ServerAlias www.hogehoge.jp:443
>ServerAdmin info@hogehoge.jp
>ErrorLog /var/log/www/hogehoge.jp-error_log
>TransferLog /var/log/www/hogehoge.jp-access_log
>SSLEngine on
>SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
>SSLCertificateFile
/usr/local/apache2/conf/hogehoge.jp_ssl.crt/server.crt
>SSLCertificateKeyFile
/usr/local/apache2/conf/hogehoge.jp_ssl.key/server.key
><Files ~ "\.(cgi|shtml|phtml|php3?)$">
> SSLOptions +StdEnvVars
></Files>
><Directory "/usr/local/apache2/cgi-bin">
> SSLOptions +StdEnvVars
></Directory>
>SetEnvIf User-Agent ".*MSIE.*" \
> nokeepalive ssl-unclean-shutdown \
> downgrade-1.0 force-response-1.0
>CustomLog /var/log/www/hogehoge.jp_ssl_request_log \
> "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\"
%b"
></VirtualHost>
>
><VirtualHost 192.168.0.2:443>
>DocumentRoot /home/www/hogehoge.net
>ServerName hogehoge.net:443
>ServerAlias www.hogehoge.net:443
>ServerAdmin info@hogehoge.net
>ErrorLog /var/log/www/hogehoge.net-error_log
>TransferLog /var/log/www/hogehoge.net-access_log
>SSLEngine on
>SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
>SSLCertificateFile
/usr/local/apache2/conf/hogehoge.net_ssl.crt/server.crt
>SSLCertificateKeyFile
/usr/local/apache2/conf/hogehoge.net_ssl.key/server.key
><Files ~ "\.(cgi|shtml|phtml|php3?)$">
> SSLOptions +StdEnvVars
></Files>
><Directory "/usr/local/apache2/cgi-bin">
> SSLOptions +StdEnvVars
></Directory>
>SetEnvIf User-Agent ".*MSIE.*" \
> nokeepalive ssl-unclean-shutdown \
> downgrade-1.0 force-response-1.0
>CustomLog /var/log/www/hogehoge.net_ssl_request_log \
> "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\"
%b"
></VirtualHost>
>
><VirtualHost 192.168.0.3:443>
>DocumentRoot /home/www/hogehoge.co.jp
>ServerName hogehoge.co.jp:443
>ServerAlias www.hogehoge.co.jp:443
>ServerAdmin info@hogehoge.co.jp
>ErrorLog /var/log/www/hogehoge.co.jp-error_log
>TransferLog /var/log/www/hogehoge.co.jp-access_log
>SSLEngine on
>SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
>SSLCertificateFile
/usr/local/apache2/conf/hogehoge.co.jp_ssl.crt/server.crt
>SSLCertificateKeyFile
/usr/local/apache2/conf/hogehoge.co.jp_ssl.key/server.key
><Files ~ "\.(cgi|shtml|phtml|php3?)$">
> SSLOptions +StdEnvVars
></Files>
><Directory "/usr/local/apache2/cgi-bin">
> SSLOptions +StdEnvVars
></Directory>
>SetEnvIf User-Agent ".*MSIE.*" \
> nokeepalive ssl-unclean-shutdown \
> downgrade-1.0 force-response-1.0
>CustomLog /var/log/www/hogehoge.co.jp_ssl_request_log \
> "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\"
%b"
></VirtualHost>
>---------------------------------------------------
>
>
>
>
>
>[산이]님이 남기신 글:
>
>>
>>[이현철]님이 남기신 글:
>>
>>>제의 개념 부족인지 모르지만.
>>>상용화용 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관해서는 에러가 나는 것이 정상이라고 생각하는데
.....
>>>아니면 제 설정이 잘못되었습니까?
>>>------------------------------------
>>
>>설정이 틀렸습니다.
>>
>><VirtualHost _default_:443>
>>
>>이 섹션을 모두 지우고
>>
>><VirtualHost xxx.xxx.xxx.xxx:80 xxx.xxx.xxx.xxx:443>
>> ServerAdmin xxxxxxxxx
>> DocumentRoot /home/xxxxxxx
>> ServerName gourmet-star.gigaprize.co.jp
>> ErrorLog logs/error_1.log
>> CustomLog logs/access_1.log common
>></VirtualHost>
>>
>>이렇게 설정해 보세요.
>>
>>아니면
>>
>><VirtualHost xxx.xxx.xxx.xxx:80>
>> DocumentRoot /home/xxxxxxx
>> ServerName gourmet-star.gigaprize.co.jp
>> ErrorLog logs/error_1.log
>> CustomLog logs/access_1.log common
>>
>><VirtualHost xxx.xxx.xxx.xxx:443>
>> ServerAdmin xxxxxxxxx
>> DocumentRoot /home/xxxxxxx
>> ServerName gourmet-star.gigaprize.co.jp
>> ErrorLog logs/ssl-error_log
>> TransferLog logs/ssl-access_log
>></VirtualHost>
>>
>>이렇게 각각 따로 따로 설정해야 합니다.
>>
>>참고로 `ServerName gourmet-star.gigaprize.co.jp: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도 팔고
있는데요..
>>>---------------------------------------------------------------
>>>
>>
>>1번이 해결되면 2번도 자동으로 해결될겁니다.
>>
>>즉 `VirtualHost _default_:443' 이렇게 설정했기 때문에
>>이 HTTPS 의 요청에서 ServerName 에 매치되지 않은
호스트는
>>모두 이쪽에 적둉됩니다.
>>
>>>
>>>이것저것 테스트 해보다 보니 개념이 더 꼬여버렸습니다.
>>>산이님의 시원한 답변을 부탁드립니다.(내용이
너무 긴것 같습니다)
>>>
>>>
>>>
>>>
>>>
>>>[산이]님이 남기신 글:
>>>
>>>>
>>>>[이현철]님이
남기신 글:
>>>>
>>>>>-----------------------------------------
>>>>>답변자가 기본적으로 참고할 내용입니다.
>>>>>- 배포판(옵션) :
>>>>>- 커널버전(옵션)
:
>>>>>- 데몬버전(예:apache
1.3.27) :
>>>>>- 데몬설치유형(RPM/컴파일/기타)
:
>>>>>-----------------------------------------
>>>>>올해도 이제 몇칠 남지 않았습니다.
>>>>>2005년 잘 마무리 하세요..산이님..
>>>>>
>>>>>다름이 아니라
>>>>>현재 서버에서 ssl 를 상용화 CA(GeoTrust社) 를 사용하고
있습니다.
>>>>>그런데 제가 알기로는 ip 하나당 ssl를 하나씩밖에 운영
못한다고 알고 있습니다.
>>>>>
>>>>>그런데 현재 서버에서 두개 이상의도메인에
각각 ssl형태로 운영을 하고 싶습니다. 그래서 서버에 복수의
ip를 할당해서 사용할려고 생각하고 있습니다..
>>>>>
>>>>>그렇다면 렌탈서비스를 해주는 프로바이드 경우에
ssl운영을 수백개씩 해야하는데 만일 한 서버에 수십개의
ssl서비스를 운영할경우 한 서버에 수십개의 ip를 alias형태로
할당해서 운영하고 있는지요?
>>>>>어떤 방법으로 운영하고 있는지 궁금합니다..
>>>>>
>>>>>
>>>>>상용화CA사이트에서
보면 버츌얼도메인에
관해서는 【 *.domain.com 】
>>>>>전부도 가능한 CA등은 있는것으로 알지만...말이죠...
>>>>
>>>>========================================
>>>>
>>>>CA를 통한 인증서같은 경우 싸이트 하나당 한개의 인증서가
주어집니다.
>>>>따라서 IP 기준이 아니고 싸이트 기준입니다.
>>>>
>>>>싸이트라고 하면 hostname 을 의미하므로, 아파치의 VirtualHost
섹션에
>>>>설정한 ServerName (ServerAlias 아님)에 해당됩니다.
>>>>
>>>>자세한 내용은 해당 CA에 문의하는 것이 제일 확실합니다.
>>>
>>>========================================
>>
>>========================================
>
>========================================
========================================
|