Azure Web应用程序中的多个站点

时间:2016-11-06 23:47:07

标签: azure azure-web-app-service

我的Azure网络应用程序(example.azurewebsites.net)有一个自定义域applicationhost.config:

<sites>
  <site name="example" id="111111111">
    <bindings>
      <binding protocol="http" bindingInformation="*:80:customdomain.com" />
      <binding protocol="https" bindingInformation="*:443:customdomain.com" />
      <binding protocol="http" bindingInformation="*:80:example.azurewebsites.net" />
      <binding protocol="https" bindingInformation="*:443:example.azurewebsites.net" />
    </bindings>
    <application path="/" applicationPool="example" preloadEnabled="true">
      <virtualDirectory path="/" physicalPath="D:\home\site\wwwroot" />
      <virtualDirectory path="/iisnodedebugger" physicalPath="C:\DWASFiles\Sites\example\Temp\iisnode" />
    </application>
    <traceFailedRequestsLogging enabled="false" customActionsEnabled="true" directory="D:\home\LogFiles" />
    <detailedErrorLogging enabled="true" directory="D:\home\LogFiles\DetailedErrors" />
    <logFile logSiteId="false" />
  </site>
  ...
</sites>

自定义域的bindigs会自动添加到默认站点(示例)。

我想更改它,我想创建一个绑定到自定义域(customdomain.com)的新网站。

applicationHost.xdt(使用IIS管理器创建):

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <system.applicationHost>
    <sites>
      <site name="example" xdt:Locator="Match(name)">
        <bindings>
          <binding bindingInformation="*:443:customdomain.com" xdt:Locator="Match(bindingInformation)" xdt:Transform="Remove" />
          <binding bindingInformation="*:80:customdomain.com" xdt:Locator="Match(bindingInformation)" xdt:Transform="Remove" />
        </bindings>
      </site>
      <site name="customdomain" id="222222222" xdt:Transform="InsertAfter(/configuration/system.applicationHost/sites/site[(@name='example')])">
        <bindings>
          <binding protocol="http" bindingInformation="*:80:customdomain.com" />
          <binding protocol="https" bindingInformation="*:443:customdomain.com" />
        </bindings>
        <application path="/" applicationPool="example" preloadEnabled="true">
          <virtualDirectory path="/" physicalPath="D:\home\site\wwwroot2" />
          <virtualDirectory path="/iisnodedebugger" physicalPath="C:\DWASFiles\Sites\example\Temp\iisnode" />
        </application>
      </site>
    </sites>
  </system.applicationHost>
</configuration>

重启后,转换成功。

问题:它没有效果。 customdomain.com仍然来自“D:\ home \ site \ wwwroot”,而不是“D:\ home \ site \ wwwroot2”。

之后我只删除了bindigs而没有添加新网站,customdomain仍在工作......之后我删除了整个网站(示例),example.azurewebsites.net和customdomain.com仍在工作。

我错在哪里?是不是可以操纵网站部分?

2 个答案:

答案 0 :(得分:2)

我可以问你为什么要努力让自己的生活变得更好?

为什么不将第二个应用程序部署到新的Web应用程序?如果成本是最重要的,您可以共享相同的应用服务计划(相同的VM)。

每个Web应用程序都有自己的自定义域设置,您可以通过门户网站直观配置:

https://azure.microsoft.com/en-gb/documentation/articles/web-sites-custom-domain-name/

Custom-Domain-UI

答案 1 :(得分:0)

我在webconfig中这样做了,它似乎有效:

**<rule name="REDIRECT To Site Within a Site" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}"pattern="^www\.SiteWithinSiteName\.com$" />
<add input="{PATH_INFO}" pattern="^/path/SiteWithinSiteRoot/" negate="true" />
</conditions>
<action type="Rewrite" url="\path\SiteWithinSiteRoot\{R:0}" />
</rule>**