【问题标题】:Apache in front of Jboss url problemsApache前面的Jboss url问题
【发布时间】:2013-11-12 19:35:39
【问题描述】:

我在 Jboss 前设置 Apache Web 服务器时遇到一些问题。

我租了一个 apache 和 jboss 分别运行并正常工作的 vps。

当我想通过 http://myVpsUrl.com:8080/myApp/ 访问我的应用程序时,Jboss 工作正常

我正在尝试将 http://myUrl.com 重定向到我的 jboss 应用程序。

在我设置的 Apache conf 文件中:

<VirtualHost *:80>
    ServerName myUrl.com
    ServerAlias myUrl.com

    ProxyPass / http://localhost:8080/context/
    ProxyPassReverse /  http://localhost:8080/context/

    ProxyPassReverseCookiePath / /
    ProxyRequests On

</VirtualHost>

当我访问 myUrl.com 时,我可以访问网络应用主页 但是

  • 缺少图片和样式
  • 所有链接都将我重定向到主页

我的风格和图片位于

http://myVpsUrl:8080/context/css/icons/devices-14-20.png
http://myVpsUrl:8080/context/javascript/util.js
http://myVpsUrl:8080/context/images/*
etc...

我尝试添加

ProxyPreserveHost On

但我遇到了一个错误:

页面重定向不正确无限重定向

一周以来我一直被这个错误困扰,任何帮助将不胜感激。

谢谢。

【问题讨论】:

    标签: apache url redirect jboss proxy


    【解决方案1】:

    我终于找到了如何让它发挥作用。

    1- 在 jboss 中创建一个虚拟服务器

    jboss-as-7.1.1.Final/standalone/configuration/standalone.xml

    <virtual-server name="myVirtualServerName" default-web-module="nameOfWarFile">
       <alias name="myurl.com"/>
    </virtual-server>
    

    2- 配置 jboss-web.xml

    <jboss-web>
        <virtual-host>myVirtualServerName< /virtual-host> 
    </jboss-web>
    

    3- 重启 Jboss 并部署你的应用

    => 您应该可以通过 myurl.com:8080 访问您的应用

    4- 在 apache 上进行从端口 80 到 8080 的重定向

    <VirtualHost *:80>
       ServerName myurl.com
       ServerAlias www.myurl.com myurl.com
    
       ProxyPass / http://myurl.com:8080/
       ProxyPassReverse /  http://myurl:8080/
    </VirtualHost>
    

    5- 编辑您的主机文件 (/etc/host) 并添加这一行

    127.0.0.1 myurl.com
    

    6-重启apache,你应该可以通过myurl.com访问你的jboss

    【讨论】:

      【解决方案2】:

      你可以尝试使用重写引擎。

      试试这个:

      <VirtualHost *:80>
          ServerName myUrl.com
          ProxyRequests Off
          ProxyPreserveHost On
      
          ProxyPass /  http://localhost:8080/context/
          ProxyPassReverse /  http://localhost:8080/context/
      
          RewriteEngine   On
          RewriteCond     %{THE_REQUEST}  /context/
          RewriteRule     ^/context/(.*)$ /$1 [PT]
      
      </VirtualHost>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-15
        • 1970-01-01
        • 2011-03-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多