2017年01月30日
このエントリーをはてなブックマークに追加
手順は以下の参考サイトがとても詳しいです!
IISでLet's Encrypt を利用してSSLサイトを構築する (letsencrypt-win-simple クライアントを利用)

ポイントとしては、マニュアルで作成すること、拡張子の無いファイルを参照させようとするので、 web.config の作成が必要なことです。

僕の手順。
コマンドプロンプト
# cd D:\SSL_tool\letsencrypt-win-simple.V1.9.1

※引数なしで実行
# letsencrypt.exe
-- 略 --
Scanning IIS Site Bindings for Hosts
1: IIS XXXX (C:\inetpub\wwwroot\XXXX)

W: Generate a certificate via WebDav and install it manually.
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: m

サイトが一つ見つかりました。しかしこれは、Default ではない別のサイトでした。今回はDefaultでホストしているサイトをSSL化したいので、Mを選択しました。

Enter a host name: XXXXXXXX
Enter a site path (the web root of the host for http authentication): C:\inetpub\wwwroot\

デフォルトでは wwwroot ディレクトリを公開対象としているので、上記の通り入力しました。 hostname はいわゆるコモンネームです。

******************************************************************************
The ACME server was probably unable to reach http://XXXXXXXX/.well-kn
own/acme-challenge/XXXXHCTOStd6M50jYG91I

Check in a browser to see if the answer file is being served correctly.

******************************************************************************
参考サイトと同様にエラーが出ました。これは今回のコマンドで作成されたファイルにwebからアクセスできないという内容のようです。
原因は拡張子がないため、IISのデフォルト設定では拒否されてしまいます。
.well-known/acme-challenge/ フォルダにアクセスし、web.config を作成します。記載内容については、一番最初に挙げた参考サイトの通りです。
以下の行が重要なようです。


IISの管理画面からでも可能です。acme-challenge のフォルダまでクリックし、「MIME の種類」をクリック。操作から追加をクリックし、ファイル名の拡張子に "." ドットを入力。MIMEの種類に text/plain と入力します。

上記でエラーが解決したので、もう一度コマンドラインの最初からやりなおしです・・。
とにかくこれでうまくいきました。最後にタスクスケジューラーのユーザー名などを聞かれるので、そのまま入力します。以下のコマンドが毎日9時で登録されていました。
[フルパス]letsencrypt.exe --renew --baseuri "https://acme-v01.api.letsencrypt.org/"

以下のフォルダを開いて確認します。
Saving Certificate to C:\Users\[USERNAME]\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org\

IISのサーバー証明書にも追加されていたので、バインドから修正を行うとすぐに利用可能でした。


※その他の引数です。


--baseuri (Default: https://acme-v01.api.letsencrypt.org/) The address of the ACME server to use.
--accepttos Accept the terms of service.
--renew Check for renewals.
--test Overrides BaseUri setting to
https://acme-staging.api.letsencrypt.org/
--manualhost A host name to manually get a certificate for.
--webroot must also be set.
--webroot (Default: %SystemDrive%\inetpub\wwwroot) A web root for
the manual host name for authentication.
--script A script for installation of non IIS Plugin.
--scriptparameters Parameters for the script for installation of non IIS
Plugin.
--centralsslstore Path for Centralized Certificate Store (This enables
Centralized SSL). Ex. \\storage\central_ssl\
--hidehttps Hide sites that have existing HTTPS bindings
--san Certificates per site instead of per host
--keepexisting Keep existing HTTPS bindings, and certificates
--help Display this help screen.
--version Display version information.



stock_value at 11:30│Comments(0)TrackBack(0)技術:2017年 

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔