1

OS XServer10.5のApacheProxyを介してplonezinstanceをセットアップしています。サーバーは、ポート80に単一の仮想ホストを設定し、PlonezinstanceへのProxyおよびProxypassディレクティブを使用します。

        ProxyPass / http://localhost:8080/VirtualHostBase/http/server:80/Plone/VirtualHostRoot/
        ProxyPassReverse / http://localhost:8080/VirtualHostBase/http/server:80/Plone/VirtualHostRoot/

ただし、ploneサイトを介してiframeに表示したい静的なHTMLおよびPHPコンテンツがいくつかあります。別のポートに別の仮想ホストを設定してから、ポート番号をインラインで指定する必要があると思いますか?

4

3 に答える 3

2

次のように、プロキシではなく Apache から直接提供される静的 URL を設定します。

ProxyPass /static !
ProxyPass / http://localhost:8080/VirtualHostBase/http/server:80/Plone/VirtualHostRoot/
ProxyPassReverse / http://localhost:8080/VirtualHostBase/http/server:80/Plone/VirtualHostRoot/

次に、静的コンテンツを含めるように /static を構成します。

于 2010-01-10T18:50:59.350 に答える
1

構成を仮想ホスト ブロックにまとめることをお勧めします。特定のパスを書き換えることで、Apache から静的コンテンツを直接配信できます。これが例です

<VirtualHost *:80>
  ServerName yoursite.com
  Alias /static /var/www/some/path/

  <Directory "/var/www/some/path">
    Options Includes FollowSymLinks
    AllowOverride All
  </Directory>

  # Zope rewrite.
  RewriteEngine On
  RewriteRule /static - [L]
  RewriteRule ^/(.*) http://127.0.0.1:8080/VirtualHostBase/http/%{SERVER_NAME}:80/Plone/VirtualHostRoot/$1 [L,P]
</VirtualHost>
于 2010-03-04T07:39:02.523 に答える
0

申し訳ありませんが、十分な情報がありませんが、正しい方向を示すのに役立ついくつかのコメントを提供します.

まず、ProxyPassReverse は不要です。なぜなら、Plone はすでに自己参照 URL の修正を行っているからです。結局のところ、それがクレイジーな URL のポイントです。

別のポスターは、プロキシを選択的に Plone にバイパスし、Apache から直接サービスを提供するように ProxyPass を構成する方法をすでに示しています。

「ポート8888の追加仮想ホスト」について。これが何を意味するのかは明確ではありません。追加の vhost サービングとは何ですか? 静的な html および php コンテンツがそこから来るはずの場所である場合、localhost のみに制限すると、そこに到達するために内部プロキシも構成する必要があります。書き換えルールでそれを行うことができますが、このユースケースでは非常に複雑な方法のように思えます。この vhost が localhost のみで利用できるのはなぜですか? さらに言えば、なぜ別の vhost を使用しているのですか...適切な ProxyPass 行 (または柔軟性が必要な場合は Rewrite 行) を使用して、1 つの vhost ですべて (Plone、静的ファイル、および PHP) を実行できます。

于 2010-01-31T10:31:20.870 に答える