sslの開発環境を作る手順

はじめに

SSL環境での動作確認を行うための環境を作る手順をまとめておく。
これをたまにやろうとするたびに検索してオレオレ証明書作って。。。とかやってたけどなんかもともと入ってるみたいで。

いちおう今回の環境は、centos6.8でapache2.2

実装

mod_sslインストール

$ yum -y install mod_ssl

ssl.confの編集

以下の箇所をhttpd.confとかバーチャルホストごとの設定ファイルにごそっと移動したいので削除してどこかにコピペしておく。

# ここを追加
NameVirtualHost *:443

# ここから削除
<VirtualHost _default_:443>
〜
</VirtualHost>                                                                                                                                                                                                     
# ここまで削除                                                                                                                                                                                                     

httpd.confまたはバーチャルホストの設定が記述してあるファイルの編集
基本的に上で削除した部分をはりつける。

<VirtualHost *:443>                                                                                                                                                                                                
                                                                                                                                                                                                                   
  # ★ここは環境とかによって変える                                                                                                                                                                                 
  DocumentRoot "/var/www/html/example.com"                                                                                                                                                                         
  ServerName example.com:443                                                                                                                                                                                       
                                                                                                                                                                                                                   
  CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/example.com/ssl_access_log.%Y%m%d 86400 540" custom                                                                                                              
  ErrorLog "|/usr/sbin/rotatelogs /var/log/httpd/example.com/ssl_error_log.%Y%m%d 86400 540"                                                                                                                       
  LogLevel warn                                                                                                                                                                                                    
                                                                                                                                                                                                                   
  # 以下はssl.confのものをそのまま持ってきた                                                                                                                                                                       
  SSLEngine on                                                                                                                                                                                                     
  SSLProtocol all -SSLv2                                                                                                                                                                                           
  SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES                                                                                                                                                        
                                                                                                                                                                                                                   
  SSLCertificateFile /etc/pki/tls/certs/localhost.crt                                                                                                                                                              
  SSLCertificateKeyFile /etc/pki/tls/private/localhost.key                                                                                                                                                         
                                                                                                                                                                                                                   
  <Files ~ "\.(cgi|shtml|phtml|php3?)$">                                                                                                                                                                           
    SSLOptions +StdEnvVars                                                                                                                                                                                         
  </Files>                                                                                                                                                                                                         
  <Directory "/var/www/cgi-bin">                                                                                                                                                                                   
    SSLOptions +StdEnvVars                                                                                                                                                                                         
  </Directory>                                                                                                                                                                                                     
                                                                                                                                                                                                                   
  SetEnvIf User-Agent ".*MSIE.*" \                                                                                                                                                                                 
  nokeepalive ssl-unclean-shutdown \                                                                                                                                                                               
  downgrade-1.0 force-response-1.0                                                                                                                                                                                 
                                                                                                                                                                                                                   
  CustomLog logs/ssl_request_log \                                                                                                                                                                                 
  "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"                                                                                                                                                                
                                                                                                                                                                                                                   
</VirtualHost>

この中で、以下は最初から用意されているので自分で作る手順がいらなかった。
/etc/pki/tls/certs/localhost.crt
/etc/pki/tls/private/localhost.key

で、apache再起動すればokでした。以上です