FC2ブログ

Let's Encryptで無料のSSL証明書をQlikView Serverに適用する

ちょこっとSSL証明書でhttpsを使いたい時、オレオレ証明書を使う方法もあるけど、警告がうざい。
2015年12月にパブリックベータ、2016年4月に正式にリリースされたLet's Encrypt。
SSL証明書といえば、シマンテック(旧ベリサイン)、グローバルサイン、サイバートラストなどいずれも年間万単位の金がかかるよね。最近は年間1000円くらいの格安のSSL証明書もあるけど、タダには勝てない。
無料でSSLを使用した安全な通信ができる- いい時代になったもんだ。
今回は、この無料のSSL証明書を提供してくれる"Let's Encrypt"をQlikView Serverに適用してみるね。

QlikView ServerはWindowsで動くものなので、Windows環境用に準備されている"letsencrypt-win-simple"というクライアントツールを使うことにする。
というか、これしか方法がないような気がするけど。

Web ServerはQlikViewデフォルトのQlikView Web Serverではなく、IISを使用したほうがいいね。Qlik CommunityでQlikView Web serverでSSLを適用する方法を見たことあるけど、面倒くさそうだったので、こっちのほうが楽だし、Let's Encryptを使うるとなるとハマりそうだから、IISが無難だと思う。

1. Let's Encryptクライアントツールのダウンロード


Let's EncryptクライアントツールはGithubからダウンロードできる。

▼letsencrypt-win-simpleのダウンロート
letsencrypt-win-simple
上記のサイトから、letsencrypt-win-simpleをダウンロードし、C:\letsencryptに解凍する。
中身はこんな感じ。

letsencrypt-win-simple


まず、環境を確認する。大事なのはwwwrootフォルダ。
IISでのデフォルトセットアップだと、C:\inetpub\wwwrootがwwwrootフォルダになっているはずだよね。
ここ重要。

webrootフォルダ

2. Let's EncryptクライアントツールでSSLサーバ証明書を取得


さて、ここからはコマンドプロンプトの出番。
コマンドプロンプトを「管理者として実行」する。
デフォルトの場所からCDで、letsencrypt.exeが入っているフォルダ(ここではC:\letsencrypt\letsencrypt-win-simple.V1.9.3)に移動する。
そして、letsencrypt.exeを以下のように実行する。

letsencrypt --accepttos --manualhost <Webサイトの完全修飾ドメイン名> --webroot <ローカルのWebサイトのパス>

例)
letsencrypt --accepttos --manualhost www.hoge.com --webroot C:\inetpub\wwwroot

command01

途中で、メールアドレスを聞いてくるので、自分のメールアドレスを入れる(入れてもメールが来るわけじゃないみたい)。

command_email

で、結果なんだけど、失敗する。
Authorization result: invalid !!

command_invalid

気を取り直して、チャレンジ... というか、ここで1回失敗しておく必要があるみたい。
というのも、webrootフォルダの中に、/.well-known/acme-challengeとフォルダができるけど、Web.Configが正しくないせいで、エラーになるんだな。

で、C:\letsencrypt\letsencrypt-win-simple.V1.9.3の中にあるWeb_config.xmlを C:\inetpub\wwwroot/.well-known/acme-challengeにコピーして、ファイル名をWeb.configに変更する。

web_config

これで再度同じコマンド(letsencrypt --accepttos --manualhost ... )を実行すると下のように成功。

command_results

この一連の処理で毎日9:00、自動的に証明書の更新が入るように、タスクが自動的に登録されている。気が利くね。
といのも、Let's Encryptは3ヵ月で証明書の期限が切れるから。
このタスクのお陰で、気づいたときには切れてた-みたいなことはなくなる。

最後に、実行するユーザを現在のユーザに限定するか聞いてくるので、"n"にしとく。

folder_results

C:\inetpub\wwwroot/.well-known/acme-challenge内には、新たなファイルができてるのがわかる。
因みに、証明書の格納場所は
C:\Users\<ユーザー名>\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org
確認すると、ここにpfxという拡張子がついた証明書のファイルができているはず。

3. IISの設定


次は、IISの設定に移るよ。
コントロールパネル→管理ツール→インターネットインフォメーションサービス(IIS)マネージャーを立ち上げ、Default Web Siteにて右から「バインド」を選択し、httpsを追加する手順に進む。

IIS Bind

画面上から[追加]ボタンを押して、httpsを追加する。
設定は以下のとおり(証明書の取得に成功していればSSL証明書のドロップダウンで表示されるはず)。

IIS_setting

4. QlikView Serverの設定


最後にQlikView側の設定。
QMCのSystem→Setupで、QlikView Web Serversから、Web Serverを選択し、Use httpsにチェックを入れる。
QlikView側はこれだけだね。

Qmc_setting

以上で全ての設定は完了。
IISを再起動し、QlikView Serverのサービスも再起動しておこう。
少しして、アクセスすると、こんな風にhttpsでアクセスが可能となった。

access

It's all right !!
Let's Encryptのセットアップは一発ではいかなかったけど、1回失敗する以外は、クライアントツールがやってくれるから一度覚えれば楽だよね。
オレオレ証明書よ、さらば!
関連記事
スポンサーサイト



Comment

Add your comment

Latest