Apache2VirtualHost(ProxyPass和Alias)配置在Ubuntu中工作,但在OSX上不工作
多年来,我一直在使用Ubuntu机器作为开发环境,并试图迁移到OSX(Mountain Lion)。目前唯一的问题是apache2配置 在Ubuntu机器上“apache2-v”显示 在OSX机器上“httpd-v”显示 所以您可以想象,我完全搞不清楚为什么虚拟主机配置迁移不好 当在我的第一个apache2实例上使用时,VirtualHost配置中的以下ProxyPass和Alias位工作得非常好,但在第二个实例上却没有。两台机器上的目录结构 出于所有目的,虚拟主机配置如下所示Apache2VirtualHost(ProxyPass和Alias)配置在Ubuntu中工作,但在OSX上不工作,apache2,alias,virtualhost,apache2.2,proxypass,Apache2,Alias,Virtualhost,Apache2.2,Proxypass,多年来,我一直在使用Ubuntu机器作为开发环境,并试图迁移到OSX(Mountain Lion)。目前唯一的问题是apache2配置 在Ubuntu机器上“apache2-v”显示 在OSX机器上“httpd-v”显示 所以您可以想象,我完全搞不清楚为什么虚拟主机配置迁移不好 当在我的第一个apache2实例上使用时,VirtualHost配置中的以下ProxyPass和Alias位工作得非常好,但在第二个实例上却没有。两台机器上的目录结构 出于所有目的,虚拟主机配置如下所示 NameVirt
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>
NameVirtualHost*:80
ProxyPass/img!
别名/img/somedir/media/img
代理主机
ProxyPass/http://127.0.0.1:8080/
ProxyPassReverse/http://127.0.0.1:8080/
目标是apache将为所有图像提供服务,并让端口8080的应用程序服务器执行繁重的工作(通用模式)
在Ubuntu中,这非常有效。在macbook上,未提供图像。验证是否正在加载代理模块。这可以通过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。结果显示,默认apache配置定义了一个非常严格的默认站点配置。对此进行评论并重新启动服务器后,一切都很顺利。很好的建议。。。但不是解决办法
httpd-t-D DUMP_MODULES | grep proxy
Syntax OK proxy_module(共享)proxy_connect_module(共享)proxy_ftp_module(共享)proxy_http_module(共享)proxy_scgi_module(共享)proxy_ajp_module(共享)proxy_balancer_(共享)proxy_平衡器_module(共享)那么到底是什么问题呢?仅仅说它有效而不给出解决方案并不是真正的解决方案。
LoadModule proxy_http_module modules/mod_proxy_http.so
./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