gpt4 book ai didi

ssl - 如何为使用多个主机名的 IIS Express 站点配置 SSL?

转载 作者:太空宇宙 更新时间:2023-11-03 12:43:09 24 4
gpt4 key购买 nike

我的 Web 应用程序项目包括在单个 IIS Express 站点的保护伞下提供服务的多个网站。我成功关注了 Scott Hanselman 的 excellent blog post , IIS Express 成功地服务于 http://foo.localhttp://bar.local来自相同的 Web 应用程序根目录。

但是,我需要两个站点都支持 SSL。按照 Hanselman 的建议,我可以创建一个 SSL 证书并将其“附加”到单个 IP 端口组合。

makecert -r -pe -n "CN=foo.local" -b 01/01/2000 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12
netsh http add sslcert ipport=0.0.0.0:443 appid='{214124cd-d05b-4309-9af9-9caa44b2b74b}' certhash=284475d4a4eb5c4d3ab7da4fdefa928186482376

成功了,但我无法为第二个站点重复该过程。显然只能将一个 SSL 证书应用于单个 IP 端口组合。

如何制作涵盖 https://foo.local 的 SSL 证书和 https://bar.local ,或者以其他方式为每个站点“附加”一个?

最佳答案

jww 的回答将我引向了正确的方向。超越汉塞尔曼的 instructions ,这是我必须做的。

首先,我在 IIS Express 的 applicationhosts.config 中为我的站点绑定(bind)启用了 SNI。这只是意味着附加 sslFlags 属性:

<binding protocol="https" bindingInformation="*:443:foo.local" sslFlags="1" />
<binding protocol="https" bindingInformation="*:443:bar.local" sslFlags="1" />

(信用:Configure SNI On IIS8?)

然后我没有使用 makecert,而是使用 PowerShell 的 New-SelfSignedCertificate cmdlet 创建了一个自签名证书:

New-SelfSignedCertificate -DnsName foo.local, bar.local -CertStoreLocation cert:\LocalMachine\My

(信用:How to create a Self-Signed SAN Certificate in Windows 8)

除此之外,我按照 Hanselman 的说明使用 netsh http add sslcert... 为 IP 端口“注册”证书,并使用 MMC“证书”管理单元来让它值得信赖。

关于ssl - 如何为使用多个主机名的 IIS Express 站点配置 SSL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25025757/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com