簡體   English   中英

Tomcat到Grails中的Apache代理/ URL子目錄

[英]Tomcat to Apache Proxy / URL Sub Directory in Grails

使用Auto Scaling Elastic Load Balancer在AWS Elastic Beanstalk上運行Grails Web應用程序。

我們還有另一個運行我們博客的AWS EC2實例,即。 blog.domain.com

有沒有辦法將流量從domain.com/blog路由到博客EC2實例? 我知道使用Apache可以將代理傳遞給Tomcat實例,但是可以反過來嗎? 如果是這樣,它甚至可以與Auto Scaling一起使用嗎?

您可以使用以下方法將grails應用程序中的/blog配置為控制器:

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

編輯:我的答案沒有滿足指定不被重定向的問題...所以這是我的修訂版本:

我采用了此處提供的現有Java代理servlet代碼: http//edwardstx.net/2010/06/http-proxy-servlet/,並在此處實現了Grails控制器: 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前綴存儲在字段中,並且僅在鏈接中傳遞path部分(如果這樣)。 請注意,您不會顯示任何布局等,它只會像在其他應用程序中創建的那樣簡單地復制頁面。 您可以使用cache插件為其添加一些緩存。

編輯2:這段代碼可能無法滿足您的要求,您可能最好編寫一個簡單的GET服務,然后將其發送回客戶端...如此處所述在grails中編寫代理

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM