两个域名、两台服务器、一个动态 IP 地址

两个域名、两台服务器、一个动态 IP 地址

我有两个域名 hi.org 和 bye.net、一个动态 IP 地址和两台服务器。我想将一个域名 bye.net 附加到服务器 1,将 hi.org 附加到服务器 2。我使用的是 Apache wamp 2.0i。

我在一个路由器后面有两台具有动态 IP 地址的服务器

#httpd.conf file additions

<IfModule mod_proxy.c>
ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

</IfModule>


#vhost file additions
NameVirtualHost *:80

#default
<VirtualHost *:80>
DocumentRoot "c:/wamp/www/fallback"
</VirtualHost>


# Server 1
<VirtualHost *:80>
DocumentRoot "c:/wamp/www"
ServerName h**p://bye.net
ServerAlias bye.net
</VirtualHost>


# Server 2
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / h**p://192.168.1.119/
DocumentRoot "g:/wamp/www"
ServerName h**p://hi.org
ServerAlias hi.org 
</VirtualHost>

完成所有这些之后,我只回退到 server1,我没有得到页面 hi.org,我只得到了页面 bye.net,我甚至没有得到当一个人输入 IP 地址而不是域名时执行的默认回​​退页面。

我使用 Windows 7(服务器 2)和 Windows XP(服务器 1)

更新:

我需要删除 DocumentRoot“g:/wamp/www”行 :D 它是错误出现的!现在一切正常。

但有一件事:URL 被本地 IP 地址替换了,有什么办法可以避免这种情况发生吗?

答案1

以下是答案:

A> 要运行服务器,您需要一个静态 IP 地址。但是,您可以使用 dyns.net 之类的服务,它会跟踪您的 IP 并为其提供一个网址。

答案A仅仅起到让你的www.能够访问正确的公网IP地址的作用。

B> 两台服务器...为什么?使用基于虚拟名称的托管,您可以从一台服务器运行两个不同的域名。您只需要执行以下操作:

NameVirtualHost *:80

#default
<VirtualHost *:80>
DocumentRoot "c:/wamp/www/fallback"
</VirtualHost>


# Server 1
<VirtualHost *:80>
DocumentRoot "c:/wamp/www"
ServerName bye.net
ServerAlias bye.net
</VirtualHost>


# Server 2
<VirtualHost *:80>
DocumentRoot "c:/wamp/www/hi orgs folder"
ServerName hi.org
ServerAlias hi.org 
</VirtualHost>

实际上你正在做的事情是:

Apache 查找 URL 引用标头。Apache 然后:将对 bye.net 的请求转发到 wampp/www

对于 hi.org,apache 将请求转发到 /hi orgs 文件夹(或根目录)

您可以将根目录放在任何地方,用户只需输入地址并访问实际的网站即可。

更多详情请点击这里: http://www.gtwcmt.co.uk/virtual-host-creation-in-apache-windows/

不需要您的 H**P,但如果网站没有响应,您可以添加 http:// www. hi.org 来引导流量(http 端口 80)。

您不需要运行两台服务器。

C> 运行两台服务器(物理),您需要将 *:80 更改为公共 IP:80 然后,您的路由器需要使用承载服务器的计算机系统上的公共 IP 设置桥接(DMZ)。这称为直通桥接。您应该在网上搜索您的路由器以了解如何执行此操作。

您还需要租用(购买)两个公共 IP 地址,请与您的 ISP 联系以获取信息和费用。

相关内容