문제

OS X Server 10.5의 Apache Proxy를 통해 Plone Zinstance가 설정되어 있습니다. 서버는 포트 80에 단일 Vhost로 설정되며 Plone Zinstance에 대한 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 컨텐츠가 있습니다. 다른 포트에 다른 Vhost를 설정 한 다음 포트 # 인라인을 지정해야한다고 생각합니다.

도움이 되었습니까?

해결책

프록시되지 않지만 Apache에서 직접 제공되는 정적 URL을 설정하십시오.

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

그런 다음 정적 컨텐츠를 포함하도록 구성 /정적.

다른 팁

구성을 가상 호스트 블록으로 롤하는 것이 좋습니다. 특정 경로를 다시 작성하여 정적 컨텐츠를 직접 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>

죄송합니다. 정보가 충분하지 않지만 올바른 방향으로 지적하는 데 도움이 될 수있는 몇 가지 의견을 제공하겠습니다.

첫째, Plone은 이미 자체 참조 URL을 고치는 것을 관리하기 때문에 ProxyPassReverse는 불필요합니다. 그것이 결국 미친 URL의 요점입니다.

다른 포스터는 이미 프록시를 선택적으로 우회하여 프록시를 우회하여 Apache에서 직접 제공하는 방법을 보여주었습니다.

"포트 8888의 추가 vhost"와 관련하여. 당신이 이것으로 무엇을 의미하는지 명확하지 않습니다. 여분의 vhost 서빙은 무엇입니까? 정적 HTML 및 PHP 컨텐츠가 오는 곳이면 LocalHost로 제한하면 내부 프록시를 구성해야한다는 의미입니다. 재 작성 규칙으로는 그렇게 할 수 있지만이 USECase에 지나치게 복잡한 방법처럼 보입니다. 이 vhost가 LocalHost에만 사용할 수있는 이유는 무엇입니까? 그 문제에 대해, 왜 별도의 vhost를 사용하는지 ... 적절한 proxypass 라인 (또는 더 많은 유연성이 필요한 경우 라인을 다시 작성)으로 하나의 Vhost 로이 모든 것을 수행 할 수 있습니다 (Plone, STATIC FILE 및 PHP).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top