gpt4 book ai didi

apache - Tomcat 到 Grails 中的 Apache 代理/URL 子目录

转载 作者:行者123 更新时间:2023-11-28 22:52:35 25 4
gpt4 key购买 nike

使用 Auto Scaling 弹性负载均衡器在 AWS Elastic Beanstalk 上运行 Grails 网络应用程序。

我们有另一个 AWS EC2 实例运行我们的博客,即。 blog.domain.com

有没有办法将流量从 domain.com/blog 路由到博客 EC2 实例?我知道使用 Apache 可以将代理传递给 Tomcat 实例,但是可以反过来吗?如果是这样,它甚至可以与 Auto Scaling 一起使用吗?

最佳答案

您可以在您的 grails 应用程序中将 /blog 配置为 Controller ,方法如下:

class BlogController {
def index() {
redirect(url: "http://blog.domain.com")
}
}

编辑:我的回答没有解决指定代理而不是重定向的问题...所以这是我的修改版本:

我采用了此处提供的现有 Java 代理 servlet 代码:http://edwardstx.net/2010/06/http-proxy-servlet/并在这里实现了一个 Grails Controller :https://github.com/AtlasOfLivingAustralia/biocache-hubs/blob/master/grails-app/controllers/au/org/ala/biocache/hubs/ProxyController.groovy (太大而无法粘贴)

将以下内容添加到您的 URL 映射文件中:

"/blog/$path**" (controller: 'proxy'){
action = [POST:'doPost']
}
"/blog/$path**" (controller: 'proxy'){
action = [GET:'doGet']
}

根据内存,我认为这段代码希望 $path 是一个完整的 URL,您可能希望将 URL 前缀存储在一个字段中,并且只传递链接中的路径部分(如果说得通)。请注意,您不会显示任何布局等,它只会重现在其他应用程序中创建的页面。您可以使用 cache plugin 添加一些缓存。 .

编辑 2:此代码可能对您的要求有些矫枉过正,您最好编写一个简单的 GET 服务,然后将其发送回客户端...如此处所述Writing a proxy in grails

关于apache - Tomcat 到 Grails 中的 Apache 代理/URL 子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35762984/

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