我试图build立一个辅助的Apache服务器(最终只会成为主要的)。
工作设置是Windows XP运行Apache 2.2.6(通过Wampserver2)与8个站点(虚拟主机),都按预期工作。 我想升级到更现代的应用程序。 为了达到这个目的,我试图转换(以我复杂的方式)运行Windows 7的新版本,我已经安装了Wampserver 2.5,从而安装了Apache 2.4.9。 作为一种学习练习,我想尝试让两台服务器一起运行,同时还要维护所有当前的网站,看起来使用网关可以实现这一点。
所以我现在有什么是Apache 2.2.6框A(本地IP为192.168.1.3)与路由器(NB604N)转发端口80,443和3306到这个盒子/ IP,各种网站工作正常(本地和外部)。
我现在也有框B运行Apache 2.4.9与IP地址192.168.1.2。 我已经添加了第二个网站,除了原来的框(e:wamp / wwww),对于第二个网站,我也设置了一个域名。
然后,我在框A(apache 2.2.6)(网关服务器是什么)上做了什么?
a)取消注释mod_proxy模块: –
LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_basic.so #LoadModule auth_digest_module modules/mod_auth_digest.so #LoadModule authn_anon_module modules/mod_authn_anon.so #LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authn_file_module modules/mod_authn_file.so #LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so #LoadModule cern_meta_module modules/mod_cern_meta.so LoadModule cgi_module modules/mod_cgi.so #LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule deflate_module modules/mod_deflate.so LoadModule dir_module modules/mod_dir.so LoadModule env_module modules/mod_env.so #LoadModule expires_module modules/mod_expires.so #LoadModule file_cache_module modules/mod_file_cache.so LoadModule headers_module modules/mod_headers.so LoadModule imagemap_module modules/mod_imagemap.so LoadModule include_module modules/mod_include.so #LoadModule info_module modules/mod_info.so LoadModule isapi_module modules/mod_isapi.so LoadModule log_config_module modules/mod_log_config.so LoadModule mime_module modules/mod_mime.so #LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule setenvif_module modules/mod_setenvif.so #LoadModule speling_module modules/mod_speling.so #LoadModule status_module modules/mod_status.so #LoadModule unique_id_module modules/mod_unique_id.so LoadModule userdir_module modules/mod_userdir.so LoadModule usertrack_module modules/mod_usertrack.so #LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule ssl_module modules/mod_ssl.so LoadModule php5_module "H:/wamp/bin/php/php5.2.6/php5apache2_2.dll"
b)向虚拟主机添加以下内容:
<VirtualHost *:80> ServerAdmin [email protected] Servername www.mt.flnet.org ProxyPass / http://192.168.1.2/ ProxyPassReverse / http://192.168.1.2 </VirtualHost>
我真的很惊讶,因为上面显然是从一开始就工作(我得到了一个502错误,但这似乎是由于我最终尝试的尾/最后的斜线(/)。当502页面(和后面的403页面)显示时,显然有一些交互作用: –
**Apache/2.4.9 (Win64) PHP/5.5.12 Server at 192.168.1.2 Port 80**
经过这个障碍(search,阅读,然后尝试了一些事情),并添加/我然后得到了403.我也尝试了一些变化,因为例如添加(到网关服务器,是的可能不应该来自所有)
<Proxy *> Order Deny,Allow Allow from all </Proxy>
除了为WAMP安装站点添加虚拟主机以及为外部testing站点(即www.mt.flnet.org)添加虚拟主机之外,在B框中我没有任何更改。 哦,我误解了Apache的文档,并尝试设置一个转发代理,并留下了mod_proxy模块加载uncommented(除了平衡,我非常确定,我不想/需要)。
我也改变了端口转发到端口80到框B(192.168.1.2),然后testing工作(Website Plustesting显示OK而不是403,proxy.site显示了预期的页面)。 另外,如果我更改我的主机文件(在第三个本地框)
192.168.1.3 www.mt.flnet.org
至
192.168.1.2 www.mt.flnet.org
我没有得到403。
我的猜测是我相对接近,希望只需要在某个地方编码正确的权威。 我真的没有什么线索是在哪里。 看起来,这是拒绝访问的网关,因为错误消息在网关的日志中,如果直接访问,原始服务器也可以正常工作。
我应该说,我很缺乏经验,只是把它作为一种爱好,就像我最初在2007 – 2008年拿到盒子A时一样。
如果有人能够指导我正确地使用网关,我将不胜感激。
我设法得到这个工作。 我所做的最后一项更改是将ProxyRequests Off和ProxyPreserveHost On添加到虚拟主机configuration。
此外,在制作Proxyrequests和ProxyPreserveHost指令之前,我将…..移至虚拟主机,并添加了位置指令( 专业网站pipe理员 – 如何为特定子域设置“网关” )。 但是,这些变化并没有改变结果。 虚拟主机configuration现在是每个: –
<VirtualHost *:80> ServerAdmin [email protected] Servername www.mt.flnet.org ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://192.168.1.2/ ProxyPassReverse / http://192.168.1.2 <Location /> Allow from all </Location> </VirtualHost>