Plone с прокси Apache - PullRequest
       30

Plone с прокси Apache

1 голос
/ 07 января 2010

У меня установлен Plone Zinstance через Apache Proxy на OS X Server 10.5. Сервер настроен с одним виртуальным хостом на порту 80 с директивами Proxy и Proxypass для zinstance Plone: ​​

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

Однако у меня есть некоторый статический контент HTML и PHP, который я хочу отображать в iframe через сайт plone. Я думаю, мне нужно будет установить другой vhost на другой порт, а затем просто указать порт # inline?

Ответы [ 3 ]

2 голосов
/ 10 января 2010

Установите статический URL-адрес, который не будет передаваться через прокси, но будет обслуживаться напрямую через Apache, например:

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

Затем настройте / static для хранения вашего статического содержимого.

1 голос
/ 04 марта 2010

Я бы рекомендовал свернуть вашу конфигурацию в блок виртуального хоста. Вы можете доставлять статический контент напрямую из 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>
0 голосов
/ 31 января 2010

Извините, недостаточно информации, но я предложу пару комментариев, которые могут помочь вам в правильном направлении.

Во-первых, ProxyPassReverse не нужен, так как Plone уже позаботится о исправлении любых ссылочных ссылок. В этом и заключается смысл сумасшедшего URL.

Другой автор уже показал, как настроить ProxyPass для выборочного обхода прокси-сервера для Plone и непосредственного обслуживания из Apache.

Относительно "дополнительного хоста на порту 8888". Непонятно, что вы подразумеваете под этим. Что такое дополнительная порция vhost? Если это то место, откуда должен исходить ваш статический html и php контент, то ограничение только на localhost означает, что вам также потребуется настроить внутренний прокси-сервер для достижения этого. Вы можете сделать это с помощью правил перезаписи, но это кажется слишком сложным путем в этом сценарии использования. Почему этот vhost доступен только для localhost? В этом отношении, почему используется отдельный vhost ... вы можете сделать все это (Plone, статические файлы и PHP) в одном vhost с соответствующими строками ProxyPass (или переписать строки, если вам нужна большая гибкость).

...