9月 09

やっと1台のサーバーにSSLサイトを複数設置させられた

Apacheの設定の話です。
NSIとかSANsで1つのSSL証明で複数のSSLサイトを認証させる場合。
ルートに設定を書いても駄目で、仮想ホストごとにSSLの設定を書くべし。
細かい説明はなしで、とりあえずメモ程度に
以下のコードを繰り返し書くだけでいい。

とにかく
NameVirtualHost *:80
NameVirtualHost *:443
を忘れると思い通りに動かない
最低限の設定なので、実際にはもっとしっかり書くこと

httpd.conf

NameVirtualHost *:80
NameVirtualHost *:443

#---- www1.exsample.com
<VirtualHost *:80>
    ServerName a.exsample.com
    RewriteEngine On
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,QSA,R=permanent]
</VirtualHost>
<VirtualHost *:443>
    DocumentRoot /home/www/public_html
    ServerName www1.exsample.com

    #--- SSL
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/www1.exsample.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/www1.exsample.com/privkey.pem
    SSLCACertificateFile /etc/letsencrypt/live/www1.exsample.com/chain.pem
</VirtualHost>
#---- /www1.exsample.com
9月 03

Let’s Encrypt の複数ドメイン対応SSL導入に手こずる

SANs証明とかいうやつで、1つの証明書で複数のドメインに対応させるやつです。
細かいことは省きます。

やりたかったこと
複数のホスト名で、1つのシステムにアクセスする
システムでホスト名を判別しているのでサーバー側ではイジる必要がない

まずはSSL化したいホスト名でアクセスできるようにApacheを設定して、1つ目のサーバーのドキュメントルート下の「/.well-known/acme-challenge/」にファイル書き込めるようにアクセス権を設定、さらにAliasを張って他のホスト名からも見られるようにする
※-dで指定するけど今回はパス

./certbot-auto certonly –webroot -w /home/www/public_html/ -d san1.exsample.com -d san2.exsample.com

重要なのは、ホスト名ごとに仮想サーバーを設定すること。別名ではcertbotが認識してくれない
※させる方法もあるのかな?

覚えておくこと
導入できたSSLは1つ目のホスト名で登録される
SSL証明を見るとDNS設定で同居しているホスト名が見えるので、バレては困る場合は使えない(IPでもわかるがサーバーが同じだからと初留者が同じとは限らないが、SSLでは所有者が同じでないと同居できない)

これでVPSを纏めることができる、かなり節約になるかな。
余裕できたらサイトを量産するぞ~

3月 21

SSL「Let’s Encrypt」を自動更新するためのメモ

ここはCnetOS6+Apache httpdでLet’s Encryptを自動更新するためのメモです。

カレントディレクトリを作業用など適当に変更して

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto

多分上のコマンドでいろいろ追加インストールしたり、バージョンが違うので揃えろとかいわれるので諸々対応を済ませ

certbot certonly --agree-tos --webroot -w /var/www/html/ -d example.com

上のようにサーバーの設定を入力すると

/etc/letsencrypt/live/example.com/

ここにpemが生成されるので

SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCACertificateFile /etc/letsencrypt/live/example.com/chain.pem

を設定してウェブサーバーを再起動
ちなみに、Apacheが2.4.8以上はfullchain.pemにしないといけないらしい。
そして、cronに次のコマンドを月イチ実行で登録する。

/usr/bin/certbot-auto renew --post-hook "service httpd reload"

問題ないかどうかはとりあえず実行すれば確認できる。
更新頻度が高いとまだしなくていいよって怒られるようです。

2月 08

webss.inのSSLを更新

webss.inはウェブサイトのスクリーンショットを作成できるサービスです。
少々調整が遅れてますので更新されていないサイトも有るようですが(汗)

SSLの更新時期が今月末に迫っていたので更新しました。
Let’s Encryptのため3ヶ月更新です。

9月 09

webss.inのSSLを更新

webss.inはWEBサイトのスクリーンショットを取得できる無料サービスです。
この手のサービスでは珍しくSSLに対応させています。
といっても、無料のLet’s Encryptなので、3ヶ月毎に更新の必要があります。
9月末で期限が来るので更に3ヶ月、12月まで延長させました。