代码之家  ›  专栏  ›  技术社区  ›  jeph perro

如何将子域定向到正确的JBoss应用程序?

  •  2
  • jeph perro  · 技术社区  · 15 年前

    对于jboss和am来说,这是一种新的配置应用程序。我知道如何在ApacheWebServer中做到这一点,但不使用JBoss。

    我已经成功地在一个RedHat Box上部署了3个应用程序,jboss 4.2。

    如果我的服务器名为fruit.mycompany.com,我可以通过以下方式访问这三个应用程序:

    http://fruit.mycompany.com:8080/quince
    http://fruit.mycompany.com:8080/pineapple
    http://fruit.mycompany.com:8080/lime
    

    接下来,我创建了三个子域,它们是服务器水果的别名。

    http://quince.mycompany.com
    http://pineapple.mycompany.com
    http://lime.mycompany.com
    

    如何让每个子域指向它对应的应用程序?

    我想要 http://quince.mycompany.com 实际打开 http://fruit.mycompany.com:8080/quince .

    在Apache中,我将使用virtualhost标记将每个子域指向正确的文档根。我该如何处理JBoss或Tomcat?

    我可以用重定向来做吗(Tomcat有没有mod ou rewrite之类的东西)?

    3 回复  |  直到 15 年前
        1
  •  3
  •   ChssPly76    15 年前

    Tomcat支持 virtual hosts . 基本上你必须:

    1)将Tomcat的“侦听”端口更改为80而不是8080。

    2)修改Tomcat的 server.xml 要列出服务器:

    <Engine name="Catalina" defaultHost="quince">
        <Host name="quince"    appBase="quince_apps"/>
        <Host name="pineapple" appBase="pineapple_apps"/>
        <Host name="lime"      appBase="lime_apps"/>
    </Engine>
    

    3)将每个应用程序移动到相应的“应用程序”文件夹的“根”文件夹。

    当我处于类似的情况下,我选择使用Apache重定向;但是我已经使用了Apache服务静态页面(公共网站)。

        2
  •  1
  •   jeph perro    15 年前

    我放弃了汤姆猫。

    情况变得太复杂了。
    我已经在80端口上运行了一个网站(在JBoss的一个单独实例上)。
    我有这三个应用程序,Quince、Pineapple和Lime,它们运行在8080端口上自己的JBoss实例上。

    为了解决我的问题,我刚刚在80端口上运行的网站的索引页上写了一个javascript函数。

    我检查 位置 查看正在调用哪个域,然后重定向到端口8080上的相应网站。

    脚本如下所示:

    var whois=location+" ";
    if (whois.indexOf("quince.mycompany.com") > -1)
    { 
        setTimeout('window.location.replace("http://quince.mycompany.com:8080/quince/");', 10);     
        exit;
    }
    if (whois.indexOf("lime.mycompany.com") > -1)
    { 
        setTimeout('window.location.replace("http://lime.mycompany.com:8080/lime/");', 10);     
        exit;
    }
    ...
    // otherwise redirect to the app running on port 80
    setTimeout('window.location.replace("http://fruit.mycompany.com/otherapp/");', 10);  
    

    这不完全是我想要的,但至少我的用户现在有了一个快捷URL,他们不必记住端口号: http://lime.mycompany.com 重定向到-> http://lime.langara.bc.ca:8080/lime

        3
  •  0
  •   Langali    15 年前

    你看过汤姆猫模型吗? http://tomcat.apache.org/connectors-doc/ 是吗?