2015-12-04 79 views
0

我有一個代理重定向問題,運行在docker容器上的apache 2.4 debian:jessie。Apache文件權限拒絕服務器訪問

我已經配置就像一個服務器:

<Directory "{{SERVER_ROOT}}"> 
Options Indexes FollowSymLinks 
# New directive needed in Apache 2.4.3: 
Require all granted 
</Directory> 

而且一個的.htaccess規則:

# Redirect crawlers to prerender (crawl) 
RewriteCond %{HTTP_USER_AGENT} !^Prerender 
RewriteCond %{HTTP_USER_AGENT} (Google|facebookexternalhit/1.1|Facebot|facebookexternalhit|Googlebot|bingbot|Googlebot-Mobile) [NC] 
RewriteCond %{QUERY_STRING} _escaped_fragment_|prerender=1 
RewriteRule^http://prerender:3000/https://demo.mysite.com%{REQUEST_URI} [P,L] 

當調用預先渲染服務器:

curl -k -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://demo.mysite.com/\?_escaped_fragment_\=/scan-f 

我得到以下錯誤apache-ssl-error.log:

[Fri Dec 04 16:21:38.346574 2015] [core:error] [pid 14] (2)No such file or directory: [client 10.0.9.156:39937] AH00132: file permissions deny server access: proxy:http://prerender:3000/https://demo.mysite.com/index.php?_escaped_fragment_=/scan-f 

我已檢查並且所有相關文件都有用戶和組apache。 Prerender服務器可以從debian訪問,並直接調用代理url。此外,所有網站都可以從瀏覽器訪問,但不能用於重定向。

任何想法我做錯了什麼?

謝謝!

+0

不,我沒有SELinux – Petru

回答

0

所以我最終得到了它的工作。我不得不安裝並啓用mod_proxy:

apt-get install libapache2-mod-proxy-html 

a2enmod proxy \ 
&& a2enmod proxy_http \ 
&& a2enmod proxy_ajp \ 
&& a2enmod rewrite \ 
&& a2enmod deflate\ 
&& a2enmod headers \ 
&& a2enmod proxy_balancer \ 
&& a2enmod proxy_connect \ 
&& a2enmod proxy_html