質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Tcl

Tclは、インタープリタ型のプログラミング言語。リスト処理や連想配列といった特長を持ち、文法もシンプルです。拡張や他言語への組み込みが簡単にでき、アプリケーション拡張にための組み込み言語として用いられます。

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

暗号化

ネットワークを通じてデジタルデータをやり取りする際に、第三者に解読されることのないよう、アルゴリズムを用いてデータを変換すること。

Q&A

解決済

2回答

837閲覧

【Let's Encrypt】複数サイトを管理しているサーバーに、その数だけ証明書を入れたい

nnahito

総合スコア2004

Tcl

Tclは、インタープリタ型のプログラミング言語。リスト処理や連想配列といった特長を持ち、文法もシンプルです。拡張や他言語への組み込みが簡単にでき、アプリケーション拡張にための組み込み言語として用いられます。

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

暗号化

ネットワークを通じてデジタルデータをやり取りする際に、第三者に解読されることのないよう、アルゴリズムを用いてデータを変換すること。

0グッド

0クリップ

投稿2017/07/11 12:20

編集2017/07/11 16:50

はじめに

若葉マークのとおり、初心者です。
IISに関しても、Let's Encryptについても初心者です。

質問概要

IIS10で管理する、全く異なるドメインのWebサイトそれぞれにLet's Encryptの証明証を適応したい。

質問

No-IPを使って3つの異なるドメインを取得しています。

例1:○○○.zapto.org
例2:△△△.zapto.org
例3:□□□.zapto.org

それぞれをIIS10をつかって、一つのサーバPCの中で管理しております。
以下、構成

[public_html]
└[○○○]
└[△△△]
└[□□□]

この状態で、それぞれのサイト(○○○、△△△、□□□)に対し証明証を適応したいと考えていますが、

  • letsencrypt.exe --accepttos --manualhost ○○○.zapto.org --webroot D:\public_html\○○○\
  • letsencrypt.exe --accepttos --manualhost △△△.zapto.org --webroot D:\public_html\△△△\
  • letsencrypt.exe --accepttos --manualhost □□□.zapto.org --webroot D:\public_html\□□□\

のように、3回に分けて証明証を取得すると、
一番最後(上記の場合、□□□だけ)のものだけが適応され、
残り2つ(上記の例では、○○○と△△△)は「安全な接続ではありません」とブラウザで表示されます。

なので、「まとめて取得するのか?」と思い、

letsencrypt.exe --accepttos --manualhost ○○○.zapto.org △△△.zapto.org □□□.zapto.org --webroot D:\public_html

としてみましたが、同じ結果となってしまいました。

これはどのようにして、複数のドメインに対し証明証を取得するのでしょうか。
ご存じの方がいらっしゃいましたら、ご教授いただけますと幸いです。

なお、この質問は、
Let's Encryptで複数の鍵を作りたい
と、同一のものになりますが、回答者がいらっしゃらずまだ困っているために再度質問させていただいております。
ご容赦ください。

追記

letsencrypt.exe --sanを実行した結果

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Let's Encryptの問題ではなく、IISのサイトバインド設定の問題ではないでしょうか。

過去の質問のサイトバインド設定の画像を見ましたが、SNI(IP・ポートは同じでもホスト名で指定できる)を利用する場合には「サーバー名表示を要求する」を選択する必要があります。
1台のWebサーバに複数のSSLサーバー証明書をバインドしたいです。

一番最後(上記の場合、□□□だけ)のものだけが適応され、

残り2つ(上記の例では、○○○と△△△)は「安全な接続ではありません」とブラウザで表示されます。

もし「サーバー名表示を要求する」を選択しない場合は、重複するバインドを追加しても、前に設定したサイトも新しく選択した証明書を参照するようになります。
そのため、一番最後のものだけが利用できたのだと思います。
(サイトバインド追加の確認ダイアログボックスを見る限りですが。)

投稿2017/07/11 16:33

coba-coba

総合スコア1409

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nnahito

2017/07/11 17:00 編集

ご回答ありがとうございます。 ご指摘の通り「サーバー名表示を要求する」にチェックを入れたところ、問題なく動作しました。 こちらは何故このような挙動になるのでしょうか? 頂いたURL先の 「そもそもSSLの仕組みでは、通信内容を暗号解除してみないと、どのバーチャルホストへのリクエストなのかが判明しないため、そうした運用は無理である」 というところでしょうか? また、証明書の取得で、shika358様がおっしゃられているSANと、ひとつずつ取得の違いはあるのでしょうか?
coba-coba

2017/07/11 22:05

問題無く動作してよかったです。 「サーバー名表示を要求する」にチェックを入れるということは、つまりSNI(Server Name Indication)による通信を行うということです。 SNIで何が嬉しいのかというと、1つのIPアドレスで複数のドメインのSSL証明書を扱えるようになることです。 SNIでは、従来の仕組みを拡張して、ハンドシェイクでアクセスしたいドメイン名を指定できるようになっています。 あと、ここでは詳しく触れませんが、ワイルドカードSSLというものもあります。 これがあれば複数のサブドメインでも、1つの証明書で利用できるようになります。 Let's Encryptでも2018年1月に対応するそうです。 SNIとワイルドカードSSLについて調べておくといいですよ。 SANについては正直あまりよく知らないのですが、メリットとしては次のようなことがあると思います。 1. 複数のSSL証明書を有料で導入する場合、1つにまとめた方が安上がりになる 2. まとめることで管理が楽になる(更新手続きなど) ただ、SNIが広まったことや、Let's Encryptのような無料のサービスが出たことから、SANを利用する1.のメリットがなくなってきたように思えます。 また、上記2. の管理の面でも、もはやメリットではないのかもしれません。 Let's Encryptではcronによる自動更新の設定も簡単で、ワイルドカードSSLも半年後には利用可能になるそうですし。
nnahito

2017/07/13 06:50

ご返信ありがとうございます。 なるほど、SNIと言うものがないと、1つのIPアドレスで複数のドメインSSLが使えないということですね。 つまりIPv6だと、SNIがなくてもできるということになりそうな予感。 > ワイルドカードSSLというものもあります。 > これがあれば複数のサブドメインでも、1つの証明書で利用できるようになります これは調べていて、名前だけよく見ました…… 設定の仕方がわからなかったので、スルーしましたが……(名前の紹介だけで、コマンドとかの例ももっとほしい > ただ、SNIが広まったことや、Let's Encryptのような無料のサービスが出たことから、SANを利用する1.のメリットがなくなってきたように思えます。 なるほど…… そういう背景があったのですね…… > Let's Encryptではcronによる自動更新の設定も簡単で、ワイルドカードSSLも半年後には利用可能になるそうですし。 IISの対応が楽しみです。 またそのときに使えるように勉強します!
guest

0

https://github.com/Lone-Coder/letsencrypt-win-simple/wiki/Create-a-SAN-certificate

多分ここら辺ですね。
試してみてないのでなんとも言えないですけど、
let’s encrypt自体はSANに対応しているみたいなので大丈夫ではないですかね。

投稿2017/07/11 14:36

shika358

総合スコア122

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nnahito

2017/07/11 16:55

ご回答ありがとうございます。 SAN……と言うものがよくわかりませんでしたが、ひとまず実行してみたところ「 追記」のようなエラーが出て止まってしまいました…… ここで言う「インデックス」や「コレクション」とはどういったものなのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問