1

私はTomcat6.0.32でRailo3を実行しています。Tomcatサーバーの前面にはApache2.2.20があります。TomcatとApacheは、openCSWから事前に構築されたバイナリです。Railoは、Tomcatのautodeploydirwebappsにデプロイされた最新のビルド戦争です。

Tomcatサーバー上のrailoとコンテンツにアクセスしようとすると、すべてが正常に機能しています。

ただし、Tomcatのrailoが私を自分自身にリダイレクトすると失敗します。ほとんどの場合、cfmスクリプトが CGI.script_nameを使用すると、間違って返されます。

Apache側では、コンテンツはwww.hostname.comで入手できます。Apacheは、www.hostname.com:8009 / railo/contentのAJPを介してユーザーをTomcatにリダイレクトします。

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からの相対パスの2倍追加されています:/ 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ディレクティブのいくつかのバリアントを試しましたが、今のところ運がありません。Webでの広範な検索( 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からエラーを受け取ります。

RailoまたはCGIでこの問題を見たことがあり、それを修正する方法を知っている人はいますか?

4

1 に答える 1

0

「/railo/content」を2回指定しています。「docBase」属性に一度、そしてプロキシ属性にもう一度。したがって、Apacheを介してプロキシされるリクエストには、リクエストパスに「railo / content /」が2回含まれます。これは、Apacheで1回、Tomcatでもう1回の2回リストされているためです。

ProxyPassReverse属性の/railo/content/を省略してみてください。

ProxyPassReverse / http://www.hostname.com:8888/

これにより、Tomcat構成は/ railo /content/ビットをすべて単独で追加できるようになります。

于 2012-01-27T18:57:17.997 に答える