Настройка приложений Apache для Rails под Torquebox
У меня проблемы с работой Apache и Torquebox/JBoss.
Версии:
- Apache 2.2.15
- Torquebox 2.3.0
- Рельсы 2.3.18 и 3.2.13
Все приложения развертываются и работают правильно, проходя напрямую через Torquebox. Я использую смещение порта 100 с портами по умолчанию в Torquebox, так что это означает, что приложение доступно на 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 соответствует тому, что правильно работает на другом сервере.
Есть идеи, что мне не хватает?
1 ответ
Прокси не был настроен правильно. Добавление этого файла.conf решило проблему:
<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
AddDefaultCharset off
Order allow,deny
Allow from all
</Proxy>
ProxyVia On
ProxyPreserveHost On
</IfModule>