我无法让Apache和Torquebox / JBoss一起工作。
版本:
所有应用程序都可以直接通过Torquebox进行部署和正常工作。我在Torquebox中使用默认端口100的端口偏移量,这意味着应用程序在myserver上可用:8180 / my-app。
以下是我的默认网站的配置:
<VirtualHost *:80>
ServerAdmin myemail@my.domain
DocumentRoot /var/www/html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/httpd/access.log combined
ServerSignature On
</VirtualHost>
各个应用程序各自获得自己的Apache配置文件,其行如下所示:
ProxyPass /my-app ajp://localhost:8109/my-app
当我尝试访问应用程序时,我收到一条Forbidden(403)错误消息:
You don't have permission to access /my-app/ on this server.
Apache在其error.log中为每个失败的请求生成以下内容:
[Wed Apr 24 07:37:03 2013] [error] [client #{ip address}] client denied by server configuration: proxy:ajp://localhost:8109/my-app/
Torquebox日志没有相应的条目,所以我相信请求永远不会进入Torquebox。
我通过管理控制台验证了AJP确实为Torquebox / JBoss启用了。我还检查了系统上的文件权限 - Apache用户对其所有配置文件和所有应用程序文件夹都具有读取权限。据我所知,Apache配置本身与另一台服务器上的工作正常匹配。
我缺少什么想法?
答案 0 :(得分:0)
未正确配置代理。添加此.conf文件修复了问题:
<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
AddDefaultCharset off
Order allow,deny
Allow from all
</Proxy>
ProxyVia On
ProxyPreserveHost On
</IfModule>