配置Azure Web App进行网站重定向

今天要和大家聊的是Azure Web App的重定向问题。一般当我们使用Web App创建网站的时候,会有一个默认的sitename.azurewebsites.net域名形式的网站提供给我们。很多客户为了满足用户的使用需求会添加一个自定义域名。但往往这个域名添加了以后,还是可以使用原有的sitename.azurewebsites.net对网站进行访问。这个时候,我们就需要对原有的sitename.azurewebsites.net网站配置域名重定向(就是IIS的301重定向)。让访问原有域名的用户,重定向到我们自定义的地址。

除了上述场景之外,我们也可以使用这个重定向的功能来将某些特定的请求,重定向到我们希望用户访问的URL,来满足不同的使用需求。

若要在Azure Web App中实现重定向,我们需要将重定向规则添加到站点的 web.config 文件中即可。您可以通过将以下重写规则添加到 wwwroot 文件夹中的 web.config 文件来实现此目的。如果您没有 web.config 文件,则可以创建一个文件并将以下文本粘贴到其中,只需更改主机名以匹配您站点的主机名:

<configuration>
 
  <system.webServer>  

    <rewrite>  

      <rules>  

        <rule name="Redirect rquests to default azure websites
        domain" stopProcessing="true">

        <match url="(.*)" /> 


        <conditions logicalGrouping="MatchAny">
                      <add
        input="{HTTP_HOST}"
        pattern="^yoursite\.azurewebsites\.net$" />

        </conditions>

        <action type="Redirect"
        url="http://www.yoursite.com/{R:0}" />  

        </rule>  

      </rules>  

    </rewrite>  

  </system.webServer>  
</configuration>

基本上,我们告诉 IIS 接受主机名与正则表达式模式“^yoursite.azurewebsites.net$”匹配的任何请求,并返回 HTTP 301 响应。响应将包含最初请求的 URL,但它将指向您的自定义“www.yoursite.com”域。当用户的浏览器读取 301 响应和新 url 时,它将自动加载该新 url。它甚至会更改用户在地址栏中看到的地址。

具体的操作步骤,大家可以参考如下:

首先我们登录到Azure Portal,打开提前准备好的Web App,可以看到,我已经配置好了自定义域名:

配置Azure Web App进行网站重定向_301重定向

若想配置web.config文件。我们需要进入kudu控制台,具体打开方式为点击“开发工具”—“高级工具”—“转到”:

配置Azure Web App进行网站重定向_Azure_02

进入Kudu控制台以后,点击“Debug Console”—“CMD”:

配置Azure Web App进行网站重定向_301重定向_03

如果“wwwroot”文件夹下有web.config文件,则直接修改即可。若没有,可以点击“+”来创建一个web.config文件:

配置Azure Web App进行网站重定向_Azure_04

创建好以后,复制如下内容:

<configuration>
 
  <system.webServer>  

    <rewrite>  

      <rules>  

        <rule name="Redirect rquests to default azure websites
        domain" stopProcessing="true">

        <match url="(.*)" /> 


        <conditions logicalGrouping="MatchAny">
                      <add
        input="{HTTP_HOST}" pattern="^www\.openops\.tech$" />

        </conditions>

        <action type="Redirect"
        url="https://oai.azure.com/portal/336ef032b82441c69f96d65e4bdbc728/chat"
        />  

        </rule>  

      </rules>  

    </rewrite>  

  </system.webServer>  
</configuration>

复制好以后,点击保存:

配置Azure Web App进行网站重定向_301重定向_05

然后对Web App进行重启即可:

 

配置Azure Web App进行网站重定向_301重定向_06

重启以后,测试访问web app,可以看到已经成功的进行重定向:

 

配置Azure Web App进行网站重定向_Azure Web APP_07