Let's Encryptを使ってhttpsを使えるようにした

Let's Encryptで無料の証明書の発行を受けて、このサイトでもhttpsを利用できるようにしました。

Let's Encrypt は、認証局(CA)として「SSL/TLSサーバ証明書」を無料で発行するとともに、証明書の発行・インストール・更新のプロセスを自動化することにより、TLS や HTTPS(TLSプロトコルによって提供されるセキュアな接続の上でのHTTP通信)を普及させることを目的としているプロジェクトです。

思ったより簡単にできました。

ユーザーガイド - Let's Encryptに従えば、大丈夫だと思います。

/etc/httpd/conf.d/ssl.confを変更

パス名は、適当に変えています。

## SSL Virtual Host Context

NameVirtualHost *:443

<VirtualHost *:443>
RailsEnv development
DocumentRoot "/path/to/document/root"
ServerName www2.trip-mania.jp:443
ErrorLog logs/ssl_trip-mania_error_log
TransferLog logs/ssl_trip-mania_access_log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES
SSLCertificateFile /path/to/certificatefile/cert.pem
SSLCertificateKeyFile /path/to/certificate/keyfile/privkey.pem
<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"
AllowEncodedSlashes on
PassengerAllowEncodedSlashes on
PassengerRuby /path/to/ruby
</VirtualHost>


<VirtualHost *:443>
DocumentRoot "/path/to/document/root"
ServerName www.trip-mania.jp:443
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES
SSLCertificateFile /etc/letsencrypt/live/sgsdn.net/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/sgsdn.net/privkey.pem
<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>