我们公司在租用的服务器上托管我们自己的网站(Windows 2012 R2)要访问它,我们可以使用 IP(http://159.68.xxx.xxx) 或者我们购买的域名(www.example1.com),这只是到我们 IP 的重定向。
我们想在我们的服务器上托管另一个网站,它当前位于虚拟目录中,可以使用以下 URL 轻松访问:http://159.68.xxx.xxx/example2 我们还为该网站购买了另一个域名(www.example2.com)
我的问题是:如何通过域名访问新网站?以下方法可行:http://159.68.xxx.xxx/example2 但我们希望它也能发挥作用:http://www.example2.com
非常感谢。
答案1
您可以在 IIS 中通过单个 IP 运行多个网站,但您需要设置单独的 IIS 站点。它不会在您的第一个站点中作为虚拟目录工作,也不会通过第二个 FQDN 正确解析。
如果您租用此服务器并且只能通过控制面板访问您的网站,那么您很可能无法执行此操作,并且需要从您的供应商处购买另一个 IIS 站点。
您没有指定对服务器的访问权限,但如果您有访问权限(和权限)来修改 IIS,那么您可以执行以下操作:
编辑现有站点绑定
- 打开 IIS 管理器
- 在左侧展开服务器节点和站点节点
- 选择您的站点
- 单击“操作”部分最右侧的“绑定”
- 选择每个绑定并逐个进行编辑
- 在主机名字段中输入第一个站点的 FQDN(如果尚未指定)
- 完成后单击“关闭”
为新网站创建新的应用程序池
- 在左侧选择应用程序池
- 右键单击应用程序池
- 选择添加应用程序池
- 输入新网站的名称
- 单击“确定”
创建新网站
- 在左侧选择网站
- 右键单击“网站”
- 选择添加网站
- 输入站点名称
- 单击“选择”并选择您在上一步中创建的新应用程序池,以选择应用程序池
- 输入网站文件的物理路径
- 选择绑定的 IP 地址(您已有的)
- 在主机名字段中输入主机名
- 单击“确定”
如果您具有 Powershell 访问权限并且希望以此方式执行此操作,请使用以下命令:
Get-WebBinding -IPAddress 159.68.0.0 -Port 80 | Set-WebBinding -HostHeader www.example1.com
New-WebAppPool -Name MySite
New-Website -Name MySite -Port 80 -IPAddress 159.68.0.0 -HostHeader www.example2.com -PhysicalPath D:\Websites\www.example2.com -ApplicationPool MySite
您可能能够使用 URLRewrite 实现您的初始目标,但它并不总是有效,并且取决于您的第二个网站的复杂程度。我不推荐这种方法,我会执行我之前概述的步骤。