【问题标题】:Should I create a subdomain for webkiosk我应该为 webkiosk 创建一个子域
【发布时间】:2021-09-14 07:39:31
【问题描述】:

假设有一个名为 x.com 的餐厅网站,我们也为 x.com 设计了一个网络信息亭。您将如何在 IIS 上构建站点内容,以及最佳实践是什么。 例如 : 您是否将 webkiosk 作为名为 kiosk 的子文件夹放入 x.com 中并在 x.com/kiosk 访问它,或者您是否创建一个指向 kiosk 子文件夹的名为 kiosk.x.com 的子域?或其他被认为是这种情况下的最佳实践的东西。提前致谢

【问题讨论】:

    标签: asp.net iis architecture software-design


    【解决方案1】:

    您可能需要提供更多信息以获得更具体的答案,但希望这会有所帮助。顺便说一句,我以前在 IIS 上进行开发,所以我的 IIS 知识已经过时了。

    简答/TLDR:使用子域,因为从长远来看它更灵活。

    主要考虑因素是:系统更改、安全性以及谁拥有系统访问权限。

    系统变更

    假设网站和自助服务终端在功能上有所不同,例如您很可能想要更改其中一个而不更改另一个(功能更改、错误修复等)。它们的联系越紧密,就越难在不影响另一个的情况下更改一个(想想应用程序池重新启动等)。

    您熟悉Single Responsibility Principle (SRP) 吗? 这是一个面向对象的设计原则,但它非常适用于不仅仅是 OO。

    另一个需要考虑的变化是,当您需要拆分信息亭和网站的托管时会发生什么?假设您决定需要在完全不同的硬件上运行信息亭,或者在完全不同的堆栈中重新编写它?如果您使用子域,您可以在任何地方设置新堆栈,并在准备好时简单地重新指向子域。并且网站没有受到影响。

    安全

    使用子域意味着可以在网络级别以不同方式处理流量,这意味着您可以更有效地使用 Web 应用程序防火墙 (WAF) 之类的东西。您可以针对一个系统(例如信息亭)制定更针对情况需求的 WAF 策略,而不会影响另一个系统。

    谁拥有系统访问权限

    谁在维护网站和信息亭 - 是同一家公司吗?如果是这样,那么访问同一个服务器似乎很好 - 但如果是不同的公司(甚至只是不同的团队),则具有一定程度的分离通常是明智的。拥有子域使管理变得更容易,因为您有更多的方法来控制它们并保持访问独立。

    总结

    一般而言,您可以做的事情越分离和隔离越好。因为它往往会给你更多的选择来应对变化。总会有不利的一面——比如短期内更复杂,或者更不方便。好的架构就是为适应可能的长期变化打下基础。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      相关资源
      最近更新 更多