Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache2VirtualHost(ProxyPass和Alias)配置在Ubuntu中工作,但在OSX上不工作_Apache2_Alias_Virtualhost_Apache2.2_Proxypass - Fatal编程技术网

Apache2VirtualHost(ProxyPass和Alias)配置在Ubuntu中工作,但在OSX上不工作

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

多年来,我一直在使用Ubuntu机器作为开发环境,并试图迁移到OSX(Mountain Lion)。目前唯一的问题是apache2配置

在Ubuntu机器上“apache2-v”显示

在OSX机器上“httpd-v”显示

所以您可以想象,我完全搞不清楚为什么虚拟主机配置迁移不好

当在我的第一个apache2实例上使用时,VirtualHost配置中的以下ProxyPass和Alias位工作得非常好,但在第二个实例上却没有。两台机器上的目录结构

出于所有目的,虚拟主机配置如下所示

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