【问题标题】:Allow All Subdomains允许所有子域
【发布时间】:2016-10-03 21:01:00
【问题描述】:

我正在尝试设置一个新的 .NET Core MVC 应用程序以允许多租户应用程序的所有子域。我添加了一个 Route Contraint 以使我能够提取租户信息,但无法让我的解决方案允许任何子域。我想实现这一点,而不必编辑我的本地 Windows 主机文件进行测试。这可能吗?

【问题讨论】:

  • 如何在不编辑主机文件的情况下在本地机器上测试多个子域?您的 .NET Core MVC 应用正在侦听本地 IP 上的所有传入请求(或您在 WebHostBuilder 中设置的任何内容,但如果您想测试除 localhost 之外的任何其他主机名,则需要将它们添加到主机文件。saaskit 项目有一个很好的方法来处理多租户。你可以看看:github.com/saaskit/saaskit

标签: .net asp.net-core asp.net-mvc-routing asp.net-core-mvc .net-core


【解决方案1】:

万一其他人有这个“问题”,我最终使用了一个重定向回我本地机器的域 - 请参阅this website for details.

【讨论】:

    【解决方案2】:

    你是对的,如果你在iisExpress下运行项目,你应该设置一些配置。
    但是如果你使用dotnet run 运行你的项目,它会让你使用任何你想要的子域...

    【讨论】:

      【解决方案3】:

      对于多租户网络应用,我通常会使用本地(或内部网)DNS 来翻译域名,因为这样您就可以最终控制域名的翻译方式。

      示例步骤:

      1) 设置本地DNS服务器,并设置你的开发机本地网络使用DNS服务器IP 2)设置域(如local为我经常做的域,并设置*.local指向你的开发机器IP,所以子域将是siteA.local,siteB.local等.) 3) 在您的 .NET Core MVC 应用程序中。侦听特定端口(我通常将其作为 HTTP 直接侦听端口 80 - 但请确保您以管理员权限运行应用程序,因为您希望使用端口 80 而不是 5000 之类的端口)

      4) viola,享受 local 的所有子域(例如 siteA.local、siteB.local 等)都将指向您的本地开发机器,然后拥有 .NET Core为所有域提供服务的 MVC 应用程序

      【讨论】:

        猜你喜欢
        • 2015-01-24
        • 1970-01-01
        • 2017-02-13
        • 2011-11-15
        • 1970-01-01
        • 2017-07-17
        • 2018-05-04
        • 2017-11-10
        • 2020-01-27
        相关资源
        最近更新 更多