所以我很困惑,所以我需要一个专家的反向代理帮助。
服务器1在公共IP – 173.xxx.xxx.xxx端口80(LAN IP为10.1.10.2)。
服务器1还具有本地DNS启用器,以便本地用户能够浏览我们本地局域网内的所有4个注册域。
服务器2在本地LAN上,本地IP为10.1.10.2
第一个问题是:
如果我想让我的服务器2可以通过互联网访问,我的proxyPass声明应该去哪里? 将去服务器1或服务器2.还是我需要有同样的语句为服务器1和服务器2? 我试图把这个,但我不能让它的工作。 它有一次工作,但用户只能看到domain1.com,无论他们在浏览器上使用哪个域名。
ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://WhichIPand:Port/ ProxyPassReverse / http://WhichIPand:Port/
问题2:httpd-vhosts.conf我可以继续在服务器1和服务器2上使用虚拟主机吗? 我目前正在服务器1上使用4个注册域的虚拟主机。 我想将服务器1的2个域移到服务器2,
Server 1 will have: domain1.com, domain2.com Server 2 will have: domain3.com, domain4.com
问题3:我的主机文件对于服务器1和服务器2来说都是什么样子,每个文件有两个合格的域。 将这样做,或将所有本地LAN IP在每个服务器上。
127.0.01 domain1.com 127.0.01 domain2.com 127.0.01 domain3.com 127.0.01 domain4.com
我知道这可能看起来太多了,但这真的会帮助很多人,而不是我。 但是,我现在很迷茫,一个有着良好思想和教学能力的人应该可以帮忙,
谢谢,圣诞快乐。
为了回应Shane和Aaron:
这是我到目前为止,并没有得到我的任何地方。 也许你可以帮助,真的很感谢你的回复…
我的服务器1在公网IP 173.1xx.1xx.xxx端口80上(LAN IP为10.1.10.2)在虚拟主机上设置OSX Lion:httpd-vhost.conf
有了这个设置,我得到:
服务暂时不可用由于维护停机或容量问题,服务器暂时无法处理您的请求。 请稍后再试。
NameVirtualHost * <VirtualHost *:80> ServerName domain1.com ServerAlias www.domain1.com ServerAdmin [email protected] DocumentRoot "/Library/WebServer/joomla" ErrorLog /Library/WebServer/joomla/error_domain1.log <Directory "/Library/WebServer/joomla"> Options Indexes FollowSymLinks MultiViews AllowOverride All AuthConfig Order allow,deny Allow from all </Directory> ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://10.1.10.2:8080/ ProxyPassReverse / http://10.1.10.2:8080/ </VirtualHost> <VirtualHost *:80> ServerName domain2.com ServerAlias www.domain2.com ServerAdmin [email protected] DocumentRoot "/Library/WebServer/webb" ErrorLog /Library/WebServer/webb/error_domain2.log <Directory "/Library/WebServer/webb"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory> ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://10.1.10.2:8080/ ProxyPassReverse / http://10.1.10.2:8080/ </VirtualHost> My Server 2 on LAN IP: 10.1.10.2, OSX Snow setup on virtual host: httpd-vhost.conf <VirtualHost *:80> ServerName domain3.com ServerAlias www.domain3.com ServerAdmin [email protected] DocumentRoot "/Library/WebServer/domain3" ErrorLog /Library/WebServer/domain3/error_cj.log <Directory "/Library/WebServer/domain3"> Options Indexes FollowSymLinks MultiViews AllowOverride All AuthConfig Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerName domain4.org ServerAlias www.domain4.org ServerAdmin [email protected] DocumentRoot "/Library/WebServer/domain4" ErrorLog /Library/WebServer/domain4/error_fn.log <Directory "/Library/WebServer/domain4"> Options Indexes FollowSymLinks MultiViews AllowOverride All AuthConfig Order allow,deny Allow from all </Directory> </VirtualHost>
ProxyPassconfiguration将是服务器1configuration的一部分。 这是主机充当服务器2的代理。您不需要对服务器2进行任何更改。
你应该可以继续使用虚拟主机。 我感到沮丧,只是用<location>语句设置我的代理。 它适用于我所需要的。
我认为你只是使用本地主机文件复杂化。 代理服务器2由IP代替? 本地hosts文件不是DNS,所以不会改变其他主机访问这些系统的方式。 但是,如果您通过FQDN代理服务器2,则服务器1将无法在本地主机上find它。 它将需要是内部LAN IP。
听起来你想要做的是这样的:
domain1.com ,为它服务的内容 domain2.com ,为此服务的内容 domain3.com ,它代理服务器2 domain4.com ,它代理服务器2 domain3.com ,为它服务的内容 domain4.com ,为其提供内容 如果是这样,那么你的服务器2configuration看起来不错,而服务器1应该是这样的:
ProxyRequests Off ProxyPreserveHost On NameVirtualHost * <VirtualHost *:80> ServerName domain1.com ServerAlias www.domain1.com ServerAdmin [email protected] DocumentRoot "/Library/WebServer/joomla" ErrorLog /Library/WebServer/joomla/error_domain1.log <Directory "/Library/WebServer/joomla"> Options Indexes FollowSymLinks MultiViews AllowOverride All AuthConfig Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerName domain2.com ServerAlias www.domain2.com ServerAdmin [email protected] DocumentRoot "/Library/WebServer/webb" ErrorLog /Library/WebServer/webb/error_domain2.log <Directory "/Library/WebServer/webb"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerName domain3.com ServerAlias www.domain3.com ServerAdmin [email protected] ProxyPass / http://10.1.10.2:80/ ProxyPassReverse / http://10.1.10.2:80/ </VirtualHost> <VirtualHost *:80> ServerName domain4.com ServerAlias www.domain4.com ServerAdmin [email protected] ProxyPass / http://10.1.10.2:80/ ProxyPassReverse / http://10.1.10.2:80/ </VirtualHost>
就像亚伦build议的那样,清理主机文件 – 他们只是混淆了事情。