【问题标题】:Redirect multiple domains to same azure website with custom parameters使用自定义参数将多个域重定向到同一个 Azure 网站
【发布时间】:2015-11-06 06:51:49
【问题描述】:

我有一个场景,我有一个可供多个客户使用的网站。 但我不想将网站发布到每个客户域的。相反,我会将网站发布到一个 azure 网站,例如 mywebsite.azurewebsites.net 并且我希望所有客户域都重定向到这个 mywebsite.azurewebsites.net 但是我需要知道这是哪个客户,以便显示正确的内容。例如,我正在考虑在查询字符串等中附加或发送隐藏的自定义参数。 我需要知道的是

  • 如何将所有域重定向到 mywebsite.azurewebsites.net
  • 如何在重定向中传递隐藏参数,例如来自客户域的任何请求,例如“www.cust1.com/Home/Index”将被重定向到“mywebsite. azurewebsites.net/Home/Index?username=testuser”和“www.cust1.com/Home/Index?querystring=ffff”到“mywebsite.azurewebsites.net? querystring=ffff&username=testuser"
  • 我不想在客户网站上发布任何网站内容,这意味着客户域根目录将为空。

【问题讨论】:

    标签: asp.net-mvc azure redirect iis azure-web-app-service


    【解决方案1】:

    有很多不同的方法可以做到这一点。

    您需要确定的第一件事是:您将如何处理对 mywebsite.azurewebsites.net 的重定向

    1. 您是否要将代码直接放在客户网站上
      重定向?
    2. 您是否有权访问客户的 DNS 以允许您将他们的网站转发到 mywebsite.azurewebsites.net?
    3. 是否要创建 CNAME 记录并将其指向您的 Azure 网站?

    方法#1

    如果您可以访问客户网站,那么这将成为最简单的方法。

    如上所述,我只需使用某种类型的自定义 url 将用户重定向回您的网站,即 mywebsite.azurewebsites.net/customer1 。

    当用户点击此页面时,您可以在他们的浏览器中设置一个 cookie,以便您知道他们来自哪里,然后将他们重定向到 mywebsite.azurewebsites.net 的主页。这几乎会立即发生,客户永远不会注意到。

    方法#2

    如果您能够转发域,或者他们只能将用户重定向到位于 mywebsite.azurewebsites.net 的主网站,您可以在请求进入时简单地查找引用 url。然后如上所述,基于然后,您可以在引用 URL 上设置 cookie 并显示正确的内容。

    方法#3

    这是假设您有权访问客户 DNS 记录并能够为 www.customerwebsite.com -> mywebsite.azurewesbites.net 创建 CNAME 记录

    在这种情况下,当用户访问该站点时,您只需拉下 HOST,然后根据它设置您的内容。

    具体代码在这里:

    string url = HttpContext.Current.Request.Url.AbsoluteUri;
    // http://localhost:1302/TESTERS/Default6.aspx
    
    string path = HttpContext.Current.Request.Url.AbsolutePath;
    // /TESTERS/Default6.aspx
    
    string host = HttpContext.Current.Request.Url.Host;
    // localhost
    

    您可以在这里找到更多信息:How to get the URL of the current page in C#

    如果您有任何问题或最终实施这些解决方案,请告诉我。

    【讨论】:

    • 我可以访问客户的 DNS 记录。我会尝试这3种方法。
    猜你喜欢
    • 1970-01-01
    • 2020-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    • 1970-01-01
    • 2012-02-20
    相关资源
    最近更新 更多