ラベル HTTP2 の投稿を表示しています。 すべての投稿を表示
ラベル HTTP2 の投稿を表示しています。 すべての投稿を表示

Let's Encryptがワイルドカード証明書に対応したので早速発行してみる

昨年(2017年)後半頃より、フリーSSLプロジェクトのLet's Encryptで、ワイルドカード証明書の発行対応(特定のドメインやサブドメインに限らず、*.example.com のようなサブドメインへの対応)を宣言していました。
元々の計画では2018年2月下旬を予定されていましたが、品質向上のため直前でリリース延期となっておりました。

それが本日(3月14日、現地時間で3月13日)、ついにリリースされました

今回、ワイルドカード証明書の対応含め、ACME v2プロトコルにも対応になりました。
ワイルドカード証明書を利用するには、こちらのACME v2プロトコルの利用が必要になります。
また、これまでは証明書発行ドメインが向いているサーバ内に、認証サーバから接続し、それによって証明書発行時の所有者確認が行われていましたが、ワイルドカード証明書の取得にはDNS認証(DNS-01)を利用する形になります。

これまでと同様、コマンドラインからcertbotまたはcertbot-autoコマンドを利用して、証明書を発行するには以下の様にする必要があります。

ACME v2プロトコルを利用し、DNS認証を行うには、--manualオプションと、ACME v2プロトコル利用字のEndpoint (https://acme-v02.api.letsencrypt.org/directory)の設定が必要になります。

サイトをHTTP/2に対応させました

もっと早い段階で進めたかったのですが、前段階のSSLの設定とnginxのコンパイルをミスり続けていてなかなか実現出来ていませんでした。

nginxがHTTP2対応し出したため、早速対応させつつ、昨今のSSL関連セキュリティ事情の設定を見直し、SSLv3の対応を切ったり、暗号化スイートの設定を最適化させたりといったことを行っていたところ、なかなかどうして上手く動いてくれない状態が続いてしまっていました。

で、ようやく動いたこともあってメモ代わりにと。


現在、このブログをはじめ、anoncom.netドメインやその他いくつかの開発・管理サイトは1台の同一VPS環境上で稼働させており、全てnginxで稼働しています。

そのため、全てのドメイン上でそれぞれSSL関連の記述を書くと、それぞれでまた長くなるため、共通化出来るものについては1つにまとめ、includeで読み込むようにしています。
必要があればその時はincludeせずそれぞれのサイトで個別に記述すればいいし。

そんなわけで、各サイトは基本的に下記の様に設定しています。設定は全てnginx用です。


また、SSLで共通化出来る部分については ssl_common.conf という感じのファイルに記述し、これを各サイトの server{~}内で includeさせています。


ここまでの設定の通り、HTTP2対応するにも、SSL(というかTLS)が必要で、そうなると必然的にSSL証明書の準備をしなければなりません。
メインドメインの anoncom.net については先日キャンペーンを行っていたさくらのSSLでRapidSSLを購入して設定しました。
その他のドメインについては、無料で1年間使えるで有名なStartSSLや、以前に最大3年間、100ドメイン分無料で取得出来ると紹介されていた WoSign Free SSLを使ったりをしていました。
またつい最近ではLet's Encryptもようやくはじまり、一部(というか上記で取得しなかった残り分)はそちらを使ったりとして、何だかんだほとんどのページをHTTP2に対応させました。

それぞれの作成方法や設定方法などは既に他のブログなどで紹介されてるのでここでは割愛。

とまぁそんな感じでようやくにしてサイトをHTTP2に対応させることが出来ました。

ウェブページをリニューアルしました+近況

かなり久しぶりのブログ更新です。 タイトルの通りですが、約6年ぶりにウェブページを刷新しました。 ウェブページを更新しました 前回は2018年頃に、Zend Frameworkをベースに作っていたのをLaravelベースのサーバーに置き換え、AppEngineで動かす形にしていま...