Apache 背后的 JBoss 重定向到本地主机

Apache 背后的 JBoss 重定向到本地主机

我知道这是Apache 和 JBoss 配置 101但我就是想不通。

我正在配置 Apache 2.2.3 以用于mod_proxy_http将请求转发到 JBoss 5.1.0 GA。这个想法是,将有多个 JBoss 实例由单个 Apache 支撑。

JBoss 和 Apache 都在同一个物理盒子上。

我有一个配置文件,conf.d内容如下:

Listen 8087
<VirtualHost *:8087>
    ProxyRequests Off
    <Proxy *>
            Order deny,allow
            Allow from all
    </Proxy>

    ProxyPass /admin-console http://127.0.0.1:8080/admin-console
    ProxyPassReverse /admin-console http://127.0.0.1:8080/admin-console

    <Location /admin-console>
            Order deny,allow
            Allow from all
            Options -Indexes FollowSymLinks
    </Location>

</VirtualHost>

我让 JBoss 监听绑定到 127.0.0.1 的 8080 端口。

如果我访问http://myServer:8087/管理控制台我收到登录提示,但图像丢失。如果我输入用户名和密码,浏览器将重定向到:

http://127.0.0.1:8080/admin-console/login.seam

因此,显然 JBoss 正在发送图像/CSS/等的 URL 和login.seam本地主机的页面。

我该如何更改它?这是 Apache 中的配置,还是我应该在某个地方更改 JBoss?如果这是 JBoss 中的更改,我希望它是一个全局更改,因为我们将在每个 JBoss 实例上安装许多应用程序。至关重要的是,我不希望 JBoss 绑定到服务器的主机名,以便可以直接访问它http://myServer:8080/管理控制台

提前致谢

富有的

答案1

我想我已经明白了:

    <Location /admin-console>
            Order deny,allow
            Allow from all
            Options -Indexes FollowSymLinks
            ProxyPass http://127.0.0.1:8080/admin-console
            ProxyPassReverse http://127.0.0.1:8080/admin-console
    </Location>

我需要将 ProxyPass 和 ProxyPassReverse 指令放入 Location 指令内。

答案2

您是否尝试过在 URL 末尾添加斜杠?

例如

ProxyPass /admin-console/ http://127.0.0.1:8080/admin-console/

答案3

如果您可以运行类似您的盒子的 ip 地址 run.sh -b 192.168.1.100 的命令,然后再次检查。

相关内容