WEBシェアするSSLの導入というと少し前までは証明書がなかなかお安い値段ではないこともあって敷居がやや高く、主に個人情報等を取り扱うWEBサービスやECサイト、大手のWEBサイトで導入されるのが大半だったと思います。Encryptの登場で、ドメインとroot権限のあるサーバー(VPSなど)を持っていれば誰でも無料でSSL証明書を取得してサイトに適用することができるようになりました。Encryptで発行した証明書を使ってSSL化していますので、その際の手順をざっくりと紹介したいと思います。そもそもなんでSSLにGoogleがSSLに対応したサイトをSEOで優遇すると以前から明言してきていますので、SSL化に興味はありましたが、元々個人サイトに対してわざわざやる程じゃないなと考えていました。このサイトとサーバー以外にも、ownCloudを設置してクラウドストレージとして使ってるサーバーとドメインを他に持っていまして、流石にコイツだけはSSLにしていました。その際はひとまず暗号化だけできれば良いということで、認証局を使わない自己発行証明書、いわゆるオレオレ証明書というやつを作ってそれでSSLにしていたというわけです。この自己発行証明書がなかなか曲者で、発行と設置がぶっちゃけそんなに楽でもなくめんどい、ブラウザでアクセスするたびに信頼できない証明書として警告を受ける、環境によってはアクセスすらできない、アドレスバーに赤い斜線がついたりして気分良くない、と一応使えるけどなんかあんまり......な有様でした。Encryptは4月に正式リリースしたばかりの新しいサービスですが、ちゃんとした正規の認証局ですので現行のブラウザではほぼすべて信頼されていますし、証明書取得も専用のクライアントを実行するだけです。サーバーがApacheを使用している場合、ヴァーチャルホストへの証明書適用まで自動でやってくれます。(Nginxは手動で設定するかプラグインが必要)そしてなにより無料。簡単に取得できるので仕方ないのですが、証明書の有効期間は3ヶ月と短く、同一ドメインに対して短期間に何度も証明書を取得しようとすると制限を食らってしまいます。証明書の期限に関してはクライアントのコマンドでこれもまた簡単に更新できますので、cronに登録して自動化しておけば問題にはなりません。取得枚数制限に関しても悪用防止は必要ですし、普通に使っていれば制限にはそうそう達しませんので問題は無いかと思います。実際の証明書取得のざっくりした流れhttps://letsencrypt.jpletsencrypt.jp詳しくはこちらの総合ポータルにありますが、おおよその流れについてここでも書きたいと思います。取得の前に必要となるのが、自前のドメイン、root権限のあるUNIX/Linux系サーバーになります。要するにレンタルとか共用サーバーを使用してる場合はムリということですレンタルを使用していてサーバーの設定とかがわからない場合レンタルサーバーが提供しているSSLがあったりすることも多いので、そちらを使うのがよいでしょう。次に事前準備として使用するドメインのAレコードに手持ちのサーバーのIPアドレスを設定し、サーバー側では80と443ポートを開けておく必要があります。クライアントのダウンロード。gitを使いますのでない場合はインストールして次のコマンドを入力し、公式のクライアントをダウンロードします。https://github.com/certbot/certbot次にダウンロードしたディレクトリに移動し、その中にあるcertbotのクライアントを実行します。./certbot-autoこの時aptやyumで動作に必要なパッケージがインストールされますので、root権限が必要になります。エラーが出ますので事前にApacheやNginxは停止しておいて下さい。パッケージが無事導入できればこのまま証明書の取得に移行します。Apacheにヴァーチャルホストが設定されている場合ここで証明書取得するドメインをリストから選択ができます。ヴァーチャルホストを設定していない、又はそれ以外のドメインの取得をしたい場合はドメイン名を直接入力することになります。ドメイン名の他に規約への同意とメールアドレスが求められますので入力しますが、この時のメールアドレスは万一証明書を紛失してしまった場合の再発行に使いますので、適当な捨てアドなんかはやめときましょう。Apacheを使用していてクライアントにプラグインがある場合はサーバーの設定もこの時自動でやってくれます。secureとeasyが選べると思いますが、easyの場合はhttpとhttpsの両方でアクセスできるようになります。secureを選択した場合、httpでアクセスしてきたものをrewriteを使用してhttpsに301リダイレクトします。基本的には後者で問題ないと思いますが、動作確認をしたい場合などはeasyにしておいて後でrewriteを追加すればそれでいいと思います。取得した証明書と鍵は/etc/letsencrypt/archive/[ドメイン名]/に実体が保存されており、/etc/letsencrypt/live/[ドメイン名]/に最新のものへのシンボリックリンクが作成されています。サーバーへ設定する際用いるパスはlive以下のものを基本的に使用します。期限での更新や再取得した場合、新しいものへとリンク先が張り替えられますので、こうしておけばサーバー側での再設定などは必要なくなります。各種サーバーへの詳細な設定はここでは割愛しますが、サーバーへのSSL証明書の適用までできたらサーバーを起動して完了でございます。超適当なサブドメインを発行して、こことは別のサーバーに証明書を入れてみましたが実に一瞬です。サーバーの基本さえわかるならば簡単ですし、何よりSSLの導入は今後個人サイトでも重要視されてくるのではないかと思います。Encryptでの取得は今まさにおすすめです。いう事で今度こそは色々記事も書いていこうと思い立って、せっかくですのでこの機会にサイトのテンプレ...記事を読むVPSいろいろ(さくら,お名前,ConoHa)さて、先日サーバーのお勉強のことなどちらっと書きましたが、せっかくなので使ったことのあるVPSの感想なども書いておこうかなと思います。