【问题标题】:Bind sub-application using IP Address in IIS在 IIS 中使用 IP 地址绑定子应用程序
【发布时间】:2016-10-05 17:11:47
【问题描述】:
我正在开发一个需要在两个不同域上运行的 MVC .NET 应用程序。
默认情况下,应用程序在以下域上运行(假设):
www.domain1.com
我也想在以下域上运行应用程序。
www.domain2.com/domain1
Domain1.com 和 Domain2.com 都在不同的服务器上运行。我无法在 IIS 中使用(Domain2)的 IP 地址进行绑定,因为它需要应用程序的物理路径。但在我们的例子中,应用程序 (Domain1) 将位于单独的服务器上。
我们怎样才能做到这一点,有没有出路?
【问题讨论】:
标签:
.net
asp.net-mvc
iis
iis-7
【解决方案1】:
解决方案 1
你可以做几件事。
1) 创建一个通配符 DNS 映射,指向您的服务器的单个 IP 地址,然后在每个网站上使用主机标头,在您的情况下,每个子域都有 1 个 IIS 站点
2) 您可以在 DNS 中为每个指向您服务器上托管的 IP 地址的子域创建一条 A 记录。创建单独的子域记录需要更多的管理开销,但却是一种技术解决方案。
http://support.microsoft.com/kb/190008(虽然这适用于 IIS 5,但概念是一样的)
解决方案 2
使用“站点绑定”来指定站点的主机名。在 IIS 管理控制台中选择一个站点,然后在右侧的操作下选择绑定...。在“站点绑定”对话框中,选择 http 绑定并单击“编辑...”,您可以在此处设置该站点的 URL。
【解决方案2】:
在 IIS 站点下右键单击 domain2.com 并选择“添加应用程序”。在“别名”中输入domain1;如果需要,选择另一个应用程序池;指定应用程序的物理路径。
你可以走了!
更新
现在我看到了两难境地 - 两个应用程序都运行在不同的服务器上。
解决方案 1
如果两台服务器都连接在一个 Intranet 中,您可以共享 domain1 的文件系统文件夹并将其映射为托管 domain2 的 IIS 上的驱动器,或者使用 UNC 名称来解析网络上的共享资源,直接在物理路径字段。则适用上述程序。
解决方案 2
如果 IIS 主机位于 Internet 上,之间没有直接连接,则需要使用 URL Rewrite 或类似的东西。你可以通过谷歌搜索找到数千篇关于这种方法的帖子。这是关于该主题的Server Fault post。