.net SSL:以正确的域名自动托管Web服务

.net SSL:以正确的域名自动托管Web服务,.net,web-services,wcf,ssl,hostname,.net,Web Services,Wcf,Ssl,Hostname,这是我的设想: 我有一个自托管的web服务,可以在几个不同的主机上启动。一些尚未定义的负载平衡将指向正确的负载平衡。 我还得到了一个配置,它为每个主机分配ssl证书指纹。 根据启动服务的机器,它将获取相应的证书,并将其绑定到其端口。作为服务的URL,它从证书中读取“颁发给”,这样我就不会在客户端上得到名称不匹配的结果。 对于我的自签名证书,这与预期的一样有效 问题 我发现,有多个域证书可用,因此“isseud to”部分将只包含主URL。所以我想,我目前的实现在这种情况下不会起作用 在任何可能的

这是我的设想: 我有一个自托管的web服务,可以在几个不同的主机上启动。一些尚未定义的负载平衡将指向正确的负载平衡。 我还得到了一个配置,它为每个主机分配ssl证书指纹。 根据启动服务的机器,它将获取相应的证书,并将其绑定到其端口。作为服务的URL,它从证书中读取“颁发给”,这样我就不会在客户端上得到名称不匹配的结果。 对于我的自签名证书,这与预期的一样有效

问题 我发现,有多个域证书可用,因此“isseud to”部分将只包含主URL。所以我想,我目前的实现在这种情况下不会起作用

在任何可能的情况下,有没有最佳实践可以让我的代码正常工作?我应该使用完全限定的主机名吗?还是没有通用的方法来处理?我需要让人们为每个可能的主机配置Web服务的URL吗

更新 我想通过一个相关的问题来扩展这个问题,这可能有助于我理解这个主题:

当我在一台机器上托管一个自托管的Web服务时,用一个不同于机器的地址托管它有意义吗? 因此,让我们假设我的机器限定主机名是mymachine.bla.com。 然后我会和你一起主持服务https://mymachine.bla.com:8080/blub. 有什么好的理由在这里主持服务吗 https://sometotalydifferentadress:8080/blub.
是否存在这样做有意义的场景?如果是,你能给我举个例子吗?还是应该始终是主机名

您的服务将在负载均衡器后面的所有Web服务器上运行吗?这还没有决定。可能存在直接连接的情况。我更新了问题,添加了一个新问题,可能会帮助我了解您的服务有什么身份验证机制?此外,在生产中使用自签名证书也不是一种好的做法。