SSL (https://) の実装

タグ: サーバー | mac
OSXでサーバー稼業
http://earlybirds.ddo.jp/namahage/in...

この見やすいページを見て、順を追っていけばなんなく完了。

で、Virtualhostで複数ドメインの場合のhttpd.conf設定。(apache1.3です。...apache2の場合はssl.confみたいな別ファイルで設定するみたい)

NameVirtualHostのあたり、
NameVirtualHost *:80
NameVirtualHost *:443
とする。

hogehoge.net と takotako.com をつくるとして、サーバー稼業に従って
#----------------------------------------------ssl
<IfModule mod_ssl.c>
  AddType application/x-x509-ca-cert .crt
  AddType application/x-pkcs7-crl .crl
  SSLPassPhraseDialog builtin
  SSLSessionCache dbm:/var/run/ssl_scache
  SSLSessionCacheTimeout 300
  SSLMutex file:/var/run/ssl_mutex
  SSLRandomSeed startup builtin
  SSLLog /var/log/httpd/ssl_engine_log
  SSLLogLevel info

  <VirtualHost *:443>
    DocumentRoot /Users/kuwa/Sites/hogehoge.net
    ServerName hogehoge.net
    ErrorLog /var/log/httpd/hogehoge_error_log
    LogLevel emerg
    CustomLog /var/log/httpd/hogehoge_access_log "combined"

    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

    SSLCertificateFile /System/Library/OpenSSL/certs/server.crt
    SSLCertificateKeyFile /System/Library/OpenSSL/certs/server.key
    
    <Files ~ "\.(cgi|shtml|phtml|php3?)$">
      SSLOptions +StdEnvVars
    </Files>
    <Directory "/Library/WebServer/CGI-Executables">
      SSLOptions +StdEnvVars
    </Directory>
    
    SetEnvIf User-Agent ".*MSIE.*" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
    CustomLog /var/log/httpd/ssl_request_log \
    "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
  </VirtualHost>
  
  <VirtualHost *:443>
    DocumentRoot /Users/kuwa/Sites/takotako.com
    ServerName takotako.com
    ErrorLog /var/log/httpd/takotako_error_log
    LogLevel emerg
    CustomLog /var/log/httpd/takotako_access_log "combined"

    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

    SSLCertificateFile /System/Library/OpenSSL/certs/server.crt
    SSLCertificateKeyFile /System/Library/OpenSSL/certs/server.key
    
    <Files ~ "\.(cgi|shtml|phtml|php3?)$">
      SSLOptions +StdEnvVars
    </Files>
    <Directory "/Library/WebServer/CGI-Executables">
      SSLOptions +StdEnvVars
    </Directory>
    
    SetEnvIf User-Agent ".*MSIE.*" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
    CustomLog /var/log/httpd/ssl_request_log \
    "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
  </VirtualHost>

</IfModule>
#----------------------------------------------ssl


<VirtualHost *:80>
DocumentRoot /Users/kuwa/Sites
ServerName hogehoge.net
<Directory "/Users/kuwa/Sites">
allow from all
Options +Indexes
</Directory>
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "/Users/kuwa/Sites/takotako.com"
ServerName takotako.com
<Directory "/Users/kuwa/Sites/takotako.com">
allow from all
Options +Indexes
</Directory>
</VirtualHost>

こんな感じではあるまいか。DocumentRootやエラーログやcgiは自身の設定で調整。

SSLCertificateFile /System/Library/OpenSSL/certs/server.crt
SSLCertificateKeyFile /System/Library/OpenSSL/certs/server.key

の.crtファイルと.keyファイルをそれぞれのドメインでつくれば、別々に機能するのではあるまいか。(未検証)

外に繋いでないmacbookで試したら、こんな感じでうまくいった。
今週中に実装しよう。

外に繋ぐ場合は、ルーターとファイアウォールの設定でポート443を開くことを忘れずに。
kuwa
とりあえず、でけたよ。
https://karasu.net/
コメント: ( )
name:
ログインしておくと、後で編集が可能になります。