1

是否可以在云中部署 Web 应用程序并对其进行配置,使其看起来像公司 URL 中的子文件夹。例如

www.mycompany.com  //main company web site
www.mycompany.com/products  // hits a web application in the cloud (azure for example)

谢谢

4

3 回答 3

1

我不是 DNS 专家,但我认为您会发现将 products.mycompany.com 路由到您的 Windows Azure 网站比使用子文件夹更直接。

于 2012-07-24T17:39:35.683 回答
1

考虑到使用子域和 CNAME 更容易,我认为您正在寻找的是IIS URL Rewrite 模块。以下基本规则取自此 IIS 论坛的主题,描述了类似的情况并给出了示例规则。您可以将它们用作基础:

<system.webServer>
    <rewrite>
        <rules>
            <rule name="CanonicalHostNameRule">
                <match url="(.+)/(.*)" />
                <conditions>
                    <add input="{HostToRedirect:{HTTP_HOST}/{R:1}}" pattern="(.+)" />
                </conditions>
                <action type="Redirect" url="http://{C:1}/{R:2}" />
            </rule>
        </rules>
        <rewriteMaps>
            <rewriteMap name="HostToRedirect">
                <add key="domain.com/mail" value="mail.domain.com" />
                <add key="domain.net/mail" value="mail.domain.net" />
            </rewriteMap>
        </rewriteMaps>
    </rewrite>
</system.webServer>

您也可以查看这个 SO question,因为它提供了一些关于您要解决的问题的指南。

更新解决方案

这完全可以通过IIS的 URL 重写模块和ARR 模块来实现。然后您需要设置一个反向代理规则,它将所有 /products 请求重写到云中相应的 Web 应用程序。您的规则将如下所示:

<system.webServer>
    <rewrite>
        <rules>
            <rule name="ReverseProxyInboundRule1" patternSyntax="ECMAScript" stopProcessing="true">
                <match url="(^products)" />
                <conditions>
                    <add input="{CACHE_URL}" pattern="^(https?)://" />
                </conditions>
                <action type="Rewrite" url="{C:1}://myvompany.cloudapp.net/" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

您可以稍后对其进行调整以满足您的确切需求,但是通过上面的示例,我刚刚实现了您正在寻找的东西。

于 2012-07-24T18:45:09.483 回答
0

IIS 支持重定向

我也喜欢 David 关于将其设为网站并使用 cname 映射 products.mycompany.com 的回答

你可以两者都做。将 www.mycompany.com/products 重定向到 products.mycompany.com

于 2012-07-24T20:52:47.493 回答