gpt4 book ai didi

Grails 和子域

转载 作者:行者123 更新时间:2023-12-04 13:53:35 26 4
gpt4 key购买 nike

Grails 是否了解子域(即 subdomain.domain.com)?我没有在 manual 中看到它的讨论。 .这纯粹是一个应用服务器/网络服务器问题吗?可以静态或动态绑定(bind)到 grails Controller 中吗?

最佳答案

对于 Java Web 应用程序,访问哪个主机并不重要。

  • 假设您在一台主机上分离了多个客户端,例如customer1.yourhost.com、customer2.yourhost.com 等,所有客户端都具有相同的功能。

    在我建议的最简单的情况下,您只需使用编写一个过滤器,它总是会放置一些请求变量,如下所示:
    def filters = {
    all(controller:'*', action:'*') {
    before = {
    if (request.serverName.contains(".")) {
    def clientName =
    request.serverName.substring(0, request.serverName.indexOf("."))

    request.currentClient = Client.findByClientName(clientName) // e.g.
    }
    }
    }
    }

    然后在任何地方您都可以查看request.currentClient对于当前访问的子域。

    但是,如果它变得更复杂,请查看一些用于 grails 的 Multi-Tenancy 插件。
  • 如果您想为每个子域提供不同的功能,例如help.yourhost.com 和 www.yourhost.com,我建议你编写独立的 grails 应用程序。然后,您设置 NGINX 服务器以将这些请求重定向到在您的应用程序服务器上运行的相应应用程序。
  • 关于Grails 和子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9242527/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com