我想托管一个网站,该网站应该侦听子域(例如 sub.domain.com)以及多个位于具有 IIS 和 SSL 的二级域(例如 domain2.com、domain3.com)下的网站。
对于带有子域的网站,我有一个通配符证书 (*.domain.com),而且我还有专门用于其他站点(domain2.com 和 domain3.com)的证书。
这样的设置是否可以托管在同一个 IIS 上(如果这很重要,在 Azure 云服务 Web 角色中)?
问题正是titobf在此处解释的:理论上,为此我们需要使用SNI进行绑定,为domain2/3.com指定主机,然后使用*主机为*.domain.com指定一个包罗万象的网站。但实际上,无论绑定如何设置,如果万能网站在它上面,它也会收到对 domain2/3.com 的所有请求(尽管据说它只是作为最后的手段才匹配)。
任何帮助,将不胜感激。
仍未解决
不幸的是,我无法解决这个问题:它似乎只能以极其复杂的方式解决,比如创建一个位于 IIS 和 Internet 之间的软件(因此基本上是一个防火墙)并修改传入的请求(在 SSL 握手发生之前! ) 来允许场景。我相当有信心这在 IIS 中是不可能的,无论如何,甚至从本机模块也不可能。
我必须澄清:我们使用 Azure 云服务,因此我们有一个进一步的限制,即我们不能使用多个 IP 地址(请参阅:http : //feedback.azure.com/forums/169386-cloud-services-web-and -worker-role/suggestions/1259311-multiple-ssl-and-domains-to-one-app)。如果您可以将多个 IP 指向您的服务器,那么您就不会遇到此问题,因为您也可以为 IP 创建绑定,并且这些绑定将与通配符绑定一起使用。更具体地说,您需要一个用于通配符站点的 IP(但由于您现在拥有一个单独的 IP,因此您不必配置通配符主机名绑定)和另一个用于所有其他非通配符站点的 IP。
实际上,我们的解决方法是使用非标准 SSL 端口 8443。因此 SNI 绑定实际上绑定到此端口,因此它与其他绑定一起使用。不好,但对我们来说是一种可接受的解决方法,直到您可以为 Web 角色使用多个 IP。
现在非工作绑定
第一个 https 绑定是带有简单证书的 SNI,第二个不是带有通配符证书的 SNI。
http 站点和 SNI https 站点一样有效,但具有通配符绑定的站点会给出“HTTP 错误 503。该服务不可用”。(没有任何进一步的信息,没有失败的请求跟踪或事件日志条目)。
终于让它基本工作了
启用像 Tobias 描述的 ETW …
我想导入一个从 500MB 数据库导出的 bacpac 文件,但该数据库包含大约 25000 个表。bacpac 本身约为 18MB。
通过 SQL Server Management Studio 的 UI 导入失败并出现 OutOfMemoryException,因此我将按以下方式使用 SqlPackage.exe:
"C:\Program Files (x86)\Microsoft SQL Server\120\DAC\bin\SqlPackage.exe" /Action:Import /SourceFile:"path\to\MyDB.bacpac" /TargetConnectionString:"Data Source=localhost;Initial Catalog=MyDB;Integrated Security=True;"
Run Code Online (Sandbox Code Playgroud)
我成功使用此命令对数据库的先前版本(较小,表较少)进行导入,但现在失败并显示以下输出。我可以在这里做任何事吗?
Importing to database 'MyDB' on server 'localhost'.
Creating deployment plan
Initializing deployment
Verifying deployment plan
Analyzing deployment plan
Importing package schema and data into database
Updating database
An unexpected failure occurred: Data plan execution failed with message Unable t
o reconnect to database: Timeout expired. The timeout period elapsed …
Run Code Online (Sandbox Code Playgroud)