运行 appcmd add site 时如何指定 SSL 证书?

运行 appcmd add site 时如何指定 SSL 证书?

我可以使用以下命令在 IIS 中创建一个网站:

appcmd add site
  -name:portallocal
  -physicalPath:"C:\dev\projects\mysite"
  -bindings:https/127.0.0.1:444:mysite.dev

但是我该如何选择 SSL 证书呢?

我希望下面显示的突出显示的下拉菜单能够选择正确的 SSL 证书,并且我希望从命令行执行此操作,最好作为添加站点命令的一部分。如果我可以运行其他命令,那也可以,但我不想进入 IIS 管理器应用程序并手动选择 SSL 证书。

截屏

答案1

能够弄清楚。似乎需要使用不同的命令:

netsh http add sslcert
  hostnameport=mysite.dev:444
  certhash=<hash/fingerprint of certificate>
  certstorename=my
  appid={f66e756c-145d-48c0-84d5-91a6a8e1900e}

真正让我困惑的是,appid因为我的网站的应用程序 ID 是1,但这里有一个 guid,我不知道在哪里可以找到我的网站的 guid。结果发现,这个 guid 是显然一个你自己编造的……

答案2

使用 PowerShell + netsh:

$certificateName = 'example.com'
$thumbprint = Get-ChildItem -path cert:\LocalMachine\My | where { $_.Subject.StartsWith("CN=$certificateName") } | Select-Object -Expand Thumbprint
$guid = [guid]::NewGuid().ToString("B")
netsh http add sslcert ipport="0.0.0.0:443" certhash=$thumbprint certstorename=MY appid="$guid"

如果您需要命名绑定,请用以下命令替换 netsh 调用:

netsh http add sslcert hostnameport="$certificateName:443" certhash=$thumbprint certstorename=MY appid="$guid"

相关内容