IIS7を備えたWin 2008 SP2マシンを検討してください。タスクは、証明書とホスト名をこのマシン上の唯一のサイトに適用することです。サイトのホストヘッダーはabc.123.example.com
最初のステップは、.pfxをパーソナルストアにインストールすることでしたが、成功しました。
IIS7は証明書を利用可能であると検出しますが、ホスト名の入力は許可しません。私の証明書を選択する前でも、ホスト名のテキストボックスは常に無効/グレー表示されています。デフォルトのポート80バインディングも削除しました。
質問:このサイトのホスト名を設定するにはどうすればよいですか?この証明書がワイルドカード証明書であることは問題ですか? SSLリクエストがWebサーバーに送信され、パケットのホストヘッダーが暗号化されていることを理解しています。 IIS6ではなぜホストヘッダーを指定できるのに、IIS7ではできないのですか?
更新:証明書は問題の一部ではありません。マシン上に新しいサイトを作成しました。httpsバインディングを選択すると、[ホスト名]テキストボックスが無効になります。
UIからは実行できません。コマンドラインから実行する必要があります。ここにプロセスの素晴らしいウォークスルーがあります:
http://www.sslshopper.com/article-ssl-Host-headers-in-iis-7.html
GUIで動作します...
インストールする証明書の「フレンドリ名」が、証明書に対して作成したマルチドメイン名と同じであることを確認してください。
すなわち。 * .companydomain.com
* .companydoman.com証明書に「わかりやすい名前」を入力すると、IISに証明書をインストールするときに、[ホスト名]ヘッダーボックスが灰色になります。
わかりやすい名前として* .companyname.comを使用する場合、あなたは黄金です。
ブーム。
簡単に言えば、各IPにバインドできる証明書は1つだけなので、そのIPアドレスにどのホスト名が割り当てられていても、証明書のバインドが適用されます。ホスト名を指定できるということは、(非SSLエントリの場合と同じように)同じIPアドレスとポートで複数のホスト名と証明書の組み合わせを使用できることを意味しますが、そうではないため、フィールドは使用できません。
より完全な説明は、SSLがトラフィックを暗号化することであり、そのトラフィックの一部はブラウザからサーバーに送信されるHTTPヘッダーです。これらのヘッダーの1つは、IISが要求とともにロードするサイトを決定するために使用する「ホスト」ヘッダーです。証明書は、要求ヘッダーの前に安全な接続を確立するためにロードする必要があるためIISは、IPアドレスとポート番号のみに基づいて証明書を選択する必要があり、どのサイトをロードするかを決定する際の要因として、「ホスト」ヘッダーをコールドアウトのままにします。入力しないでください。
SSL接続の内部動作 の概要を詳しく説明した記事を次に示します。
SSLShopperの回答は、Hostヘッダーなしでバインディングを残し、証明書への接続を切断せずにそのバインディングを削除することができなかったため、私にとっては機能しませんでした。これが私がそれを機能させるために使用した方法です:
この回答は、証明書がすでに生成され、証明書ストアに追加され、IISに追加されていることを前提としています。また、SSL以外のWebサイトへのバインディングが不要であることも前提としています。
まず、いくつかの情報を収集する必要があります。ハッシュ、アプリケーションID、ホスト名が必要です。
手順
コマンドプロンプトを開く
netsh http show sslcert
証明書のハッシュとアプリケーションIDを保存する
コマンドプロンプトで:
netsh http add sslcert ipport=0.0.0.0:443 certstorename=my certhash=<put Certificate Hash here> appid={<put Application ID here>}
appcmd set site /site.name:"<put site name here>" /+bindings.[protocol='https',bindingInformation='*:443:<put Host name here>']
注:Appcmd.exeはC:\ Windows\System32\inetsrvにあります。このコマンドが機能するためには、そのフォルダにいる必要がある場合があります。
ここで受け入れられた答えは混乱を招くものであり、質問に対して正しいとは思いません。それは受け入れられる答えであってはなりません。
問題
_*.ipsum.com
_などのワイルドカードSSLがあり、証明書がインストールされていますが、IISでサイトのホスト名を選択できません。テキストボックスはグレー表示されます。
ソリューション
ワイルドカードSSLはどのサブドメインでも使用できます。必要なのは確認証明書のわかりやすい名前を_*
_で開始することだけです。ワイルドカードドメインと同じわかりやすい名前を使用することを好みます。 _*.ipsum.com
_ただし、アスタリスクが付いているものなら何でも呼び出すことができます:_*foo
_
証明書に間違ったわかりやすい名前を付けました、助けて!
Windows 8またはServer 2012以降、スタートメニューに_certlm.msc
_と入力して、ローカルマシンの証明書を管理できます。以前のバージョンのウィンドウでは、少し複雑な操作を行う必要があります。
mmc.exe
_を実行するFile
メニューに移動して_Add/Remove Snap-in...
_を選択するか、_(Ctrl-M)
_を押しますCertificates
スナップインを強調表示し、_Add >
_を押してから、後続のダイアログで_Computer Account
_を選択し、次に_Local Computer
_を選択して、Finish
を押し、続いてOK
スナップインウィンドウを閉じますメインウィンドウで、[Certificates (Local Computer)
]、[Personal
]、[Certificates
]の順に展開すると、証明書を右クリックし、[Properties
]をクリックして更新できますわかりやすい名前。
閉じて開くIIS Managerそして、ホスト名を設定できます。
実際には、GUIを介してホストヘッダーを追加できますが、証明書の命名方法によって異なります。ワイルドカード証明書に* .xyz.comというわかりやすい名前を付け、その証明書を選択すると、私はGUIを使用することができます。フレンドリ名がxyzwildcardのようなものであり、私がそれを選択した場合、ホストヘッダーフィールドがグレー表示されます...
奇妙な奇妙な
一部のマシンでは、プロトコルがhttpsに変更された場合、またはSSL証明書を追加した後は、ホスト名を編集できません。 IISは時々不機嫌になることがあります。
このWindowsコマンドは、プロトコル "https"、ポート "443"、ホスト名 "subdomain.domain.com"、サイト名 "site name"で新しいバインディングを作成します。これらの値を(引用符で囲んで)要件に合わせて変更します。ポート443を使用している場合は、古いバインディングを削除する必要があります。
Run Windows Command Prompt as Administrator
C:> cd C:\Windows\System32\inetsrv
C:\ Windows\System32\inetsrv> appcmd set site /site.name:"site_name" /+bindings.[protocol='https',bindingInformation='*:443:subdomain.domain.com']
ホスト名は、選択した証明書のfriedlynameがホスト名* .xyz.comのような場合にのみ追加でき、mmc(スナップイン)から証明書のわかりやすい名前を* .xyz.comに変更できます。