2012-12-17 37 views
2

多年來,我一直在使用Ubuntu機器作爲我的開發環境,並試圖遷移到OSX(Mountain Lion)。此時唯一的呃逆是apache2配置。Apache2 VirtualHost(ProxyPass和別名)配置在Ubuntu中可用,但在OSX上不可用

在Ubuntu機器 「的Apache2 -v」,揭示

Server version: Apache/2.2.22 (Ubuntu) 
Server built: Nov 8 2012 21:37:30 

在OSX機器 「的httpd -v」,揭示

Server version: Apache/2.2.22 (Unix) 
Server built: Aug 24 2012 17:16:58 

所以你可以想象,我是爲徹底糊塗爲什麼虛擬主機配置不能很好地遷移。

我的VirtualHost配置中的以下ProxyPass和別名位在我的第一個apache2實例中使用時非常有效,但在第二個實例中不會發生。在兩臺機器上

對於所有意圖和目的,虛擬主機的配置作爲其目標是Apache會服務於端口8080的所有圖像和應用服務器做重如下

NameVirtualHost *:80 

<VirtualHost *:80> 

    ProxyPass /img ! 
    Alias /img /somedir/media/img 

    ProxyPreserveHost On 
    ProxyPass/http://127.0.0.1:8080/ 
    ProxyPassReverse/http://127.0.0.1:8080/ 

</VirtualHost> 

的目錄結構提升(常見模式)。

在Ubuntu中,這個效果很好。在MacBook上,圖像沒有被提供。

回答

-1

原來默認的apache配置定義了一個非常嚴格的默認站點配置。評論和重新啓動服務器很好地清理了事情。

+0

那到底是什麼問題?只是說它沒有給出解決方案就行得通,不是一個真正的解決方案 – cdarken

0

驗證是否正在加載代理模塊。這既可以在conf文件動態加載配置行來完成:

LoadModule proxy_http_module modules/mod_proxy_http.so 

或編譯到Apache中:

./httpd -l | grep proxy 
mod_proxy.c 
mod_proxy_connect.c 
mod_proxy_ftp.c 
mod_proxy_http.c 
mod_proxy_scgi.c 
mod_proxy_ajp.c 
mod_proxy_balancer.c 

您可以從可能其他服務器拉mod_proxy_http.so。

+1

偉大的建議......但不是解決方案。 '的httpd -t -D DUMP_MODULES | grep的proxy' 語法行 proxy_module(共享) proxy_connect_module(共享) proxy_ftp_module(共享) proxy_http_module(共享) proxy_scgi_module(共享) proxy_ajp_module(共享) proxy_balancer_module(共享) – joewyrembelski

相關問題