無料で名高い SSL 証明書「Let’s Encrypt」を使用しているわけですが。
もちろん、Linux 環境(仮想でも OK )さえあれば SSL 証明書を発行してレンタルサーバでも使用できます。
ただ、作業が面倒くさいんですよね・・・
マニュアルモードを使用して手動で認証を行う必要があり、その都度指定される認証ファイルを作ってレンタルサーバにアップロードしなければなりません。
で、またまた更新期限が迫ってきたわけなんですが、使用しているVPSを気まぐれで初期化したばかり。
Let’s Encrypt のクライアントはまだ設定しておらず使用できない状態。
わざわざ Linux 使わなくても Windows 上でサクッと作業できないのかなと思い探してみたところ、「letsencrypt-win-simple」というクライアントを発見。
どうやらバージョン 1.8.9 から FTP による認証ファイルの自動アップロードに対応したそうな。
早速試してみたところ簡単に作業が終わったので手順をまとめたいと思います。
前提としては「IIS が起動していない Windows パソコン」を使用する必要があります。
また、「letsencrypt-win-simple」は Let’s Encrypt が公開している公式のクライアントソフトではなく、非公式のクライアントソフトになります。
それを踏まえた上で自己責任でご使用ください。
1.letsencrypt-win-simple をダウンロード
https://github.com/Lone-Coder/letsencrypt-win-simple/releasesにアクセスし、一番上(letsencrypt-win-simple.vX.X.X.zip)の ZIP ファイルをダウンロード。
2016 年 8 月現在の最新バージョンは 1.9.0 でした。
2.letsencrypt-win-simple を実行
ダウンロードした ZIP ファイルを解凍。
letsencrypt.exe を右クリックして「管理者として実行」を選択。
3.必要事項を入力し認証を行う
プログラムが起動してウィンドウが表示されます。
Enter an email address (not public. used for renewal fail notices):
と表示されたらメールアドレスを入力して Enter。
Do you agree to https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf? (Y/N):
は「規約に同意しますか?」という問いかけなので「Y」を入力して Enter。
ちなみに、上記2項目は初起動時にしか表示されません。
Scanning IIS Site Bindings for Hosts
IIS Version not found in windows registry. Skipping scan.
No targets found.
W: Generate a certificate via WebDav and install it manually.
S: Generate a single San certificate for multiple sites.
F: Generate a certificate via FTP/ FTPS and install it manually.
M: Generate a certificate manually.
A: Get certificates for all hosts
Q: Quit
Which host do you want to get a certificate for:
IIS が起動していない状態だと上記のような認証方法の一覧が表示されるので「F」を入力。
Enter a host name:
と表示されたらSSL証明書を発行するドメイン名を入力。
Enter a site path(the web root of the host for http authentication)
と表示されたらFTPサーバのパスを入力。
※もしサイトのドキュメントルートがFTPのドキュメントルートと異なる場合は、そのデイレクトリも含めた状態で入力します
Enter the FTP username:
と表示されたらFTPのユーザー名を入力。
Enter the FTP password:
とひょうじされたら FTP のパスワードを入力。
すると FTP に接続し認証ファイルを自動でアップロードし認証を開始します。
無事認証が終わるとファイルの生成先が表示されます。
基本的には
C:\Users\ユーザー名\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org
の中に
- ドメイン名-key.pem(秘密鍵)
- ドメイン名-crt.pem(サーバ証明書)
- ドメイン名-csr.pem(CSRファイル)
- ドメイン名-chain.pem(サーバ証明書と中間証明書が結合されたファイル)
- ca-XXXXX.pem(中間証明書)
が生成されます。
あとはこれらをレンタルサーバに設定するだけです。
これで作業がものすごく楽になりました。
ただ、期限が近くなった際の更新方法がよくわからないので調べて別途まとめたいと思います。
あとは本家の様にサブドメインもまとめて一度に認証できるようになればもっと楽になるのに・・・
※SANを使用する方法が分かったので、別途まとめたいと思います。
Let’s Encryptが正式サービスを開始したときに関連記事を書こうかと思っていたんですが・・・
もたもたしているうちにいっぱい記事が登場したためお蔵入りに。
ようやく書くことが出来ました。
マニュアルモードでの認証方法を使ったレンタルサーバ向けの記事は少な目なので、気が向いたらまとめるかもしれません。
ただ、今回の方法を使用すればわざわざ Linux を準備しなくても SSL 証明書が発行できるので、正直微妙な立ち位置ですね。
コメント