Я использую Railo 3 в Tomcat 6.0.32.На сервере Tomcat работает Apache 2.2.20.Tomcat и Apache - это предварительно собранные двоичные файлы из openCSW.Railo - это только последняя сборка, развернутая в веб-приложениях tomcat для autodploy dir.
Все работает нормально, когда я пытаюсь получить доступ к railo и контенту на сервере tomcat.
Однако, когда Railo на tomcat перенаправляет меня к себе, он терпит неудачу.В основном, когда скрипт cfm использует CGI.script_name , он будет возвращен неправильно.
На стороне Apache контент доступен на www.hostname.com.Apache перенаправляет пользователя на tomcat через AJP на www.hostname.com:8009/railo/content.
Сценарий на tomcat (взят из открытого примера OAuth) доступен по адресу:
/ opt/csw/share/tomcat6/webapps/railo/content/oauth_test/examples/admin_consumers.cfm
Когда я обращаюсь к нему и пытаюсь выполнить какое-либо действие, он вызывает себя с несколькими параметрами, но в этот моментrailo выдает ошибку, сообщая, что файл не может быть найден:
Page /content/railo/content/oauth_test/examples/admin_consumers.cfm [/opt/csw/share/tomcat6/webapps/railo/content/railo/content/oauth_test/examples/admin_consumers.cfm] not found
Как вы можете видеть, Railo добавил вдвое относительный путь от tomcat: / railo / content / railo / content
Это моя конфигурация виртуального хоста в Apache:
<VirtualHost *:443>
ServerName www.hostname.com
DocumentRoot "/opt/www/hostname/htdocs/"
ProxyRequests Off
<proxy *="">
Order deny,allow
Allow from all
</proxy>
ProxyPass / ajp://www.hostname.com:8009/railo/content/
ProxyPassReverse / http://www.hostname.com:8888/railo/content/
</VirtualHost>
Я пробовал несколько вариантов для директивы ProxyPassReverse, но пока безуспешно.Основываясь на обширных поисках в Интернете ( Mystery of ProxyPassReverse ), я попробовал это для proxypassreverse:
ProxyPassReverse / ajp://www.hostname.com:8009/railo/content/
ProxyPassReverse / http://www.hostname.com:8888/railo/content/
ProxyPassReverse / http://localhost:8888/railo/content/
ProxyPassReverse / https://www.hostname.com
На сервере Tomcat также определен виртуальный хост, подобный этому:
<Host name="www.hostname.com">
<Context path="" docBase="/opt/csw/share/tomcat6/webapps/railo/content" />
</Host>
Но каждый раз я всегда получаю ошибку от Рейло.
Кто-нибудь когда-нибудь видел эту проблему с Railo или CGI, и есть идея, как ее исправить?