首页 > 解决方案 > 您能否建议如何解决 azure web 应用程序的 URL 重写规则问题?

问题描述

我在 Azure Web App 上部署了一个 MVC 点网应用程序(多租户平台)。我已经配置了两个租户:tenant1 和 tenant2,它们的 URL:

  1. Primer-test.azurewebsites.net/tenant1 和
  2. 底漆-test.azurewebsites.net/tenant2

它们都可以从 IE、Safari 等访问。我在 GoDaddy 上购买了两个域:

  1. domain1.com
  2. domain2.com

我想为他们配置重写规则,所以每当有人在他的浏览器中键入www.domain1.com或 domain1.com 时,应该显示primer-test.azurewebsites.net/tenant1 的内容。同样,对于 domain2。

我已将这两个自定义域附加到我的 Web 应用程序,没有问题。我编写了重写规则,但它们似乎没有按预期工作。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
    <rewrite>
      <rules>
        <rule name="domain1.com" stopProcessing="true">
          <match url=".*" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^(www.)?domain1.com" />
            <add input="{PATH_INFO}" pattern="^/tenant1/" negate="true" />
          </conditions>
          <action type="Rewrite" url="\tenant1\{R:0}" />
        </rule>
        <rule name="domain2.com" stopProcessing="true">
          <match url=".*" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^(www.)?domain2.com" />
            <add input="{PATH_INFO}" pattern="^/tenant2/" negate="true" />
          </conditions>
          <action type="Rewrite" url="\tenant2\{R:0}" />
        </rule>
      </rules>
    </rewrite>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\kobsq.dll" stdoutLogEnabled="false" stdoutLogFile="\\?\%home%\LogFiles\stdout" />
    </system.webServer>
  </location>
</configuration>

知道可能出了什么问题吗?

非常感谢!

标签: azureurl-rewritingweb-configazure-web-app-service

解决方案


在这种情况下,从您提供的 URL 中,我可以看到这primer-test.azurewebsites.net是您创建和使用的 webapp。tenant1并且tenant2应该virtual applications在 webapp 中。

概念: Virtual application

相关文章:

1.如何将Flask+React应用部署到Azure Web Service

2. 在一个 Web 应用下托管两个网站 - Azure 服务

正确使用过程及测试步骤:

步骤1。

准备工作,创建一个.net框架的主应用(在项目中使用web.config,目的是配置rewrite。

在此处输入图像描述

在门户中配置。

在此处输入图像描述

在站点路径下创建文件夹并通过 zip 部署虚拟应用程序。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在不重写设置的情况下对其进行测试。

在此处输入图像描述

步骤 2. 修改项目中web.config的文件RewriteTest

在此处输入图像描述

步骤 3. 创建自定义域进行测试。

在此处输入图像描述

步骤 4. 测试结果。满足您的需求。

在此处输入图像描述


推荐阅读