如何为Apache绑定多IP多域名

 我来答
fengzhongjincao
2016-11-24 · TA获得超过933个赞
知道小有建树答主
回答量:1780
采纳率:0%
帮助的人:783万
展开全部
无论Windows主机还是Linux主机,在Apache接收处理前,首要要确保这些IP地址已经映射到APACHE服务上,也就是说,对要首先保证操作系统本身接受这些IP地址访问,Windows绑定多IP参考前一篇文章(如何为Windows绑定多个IP和多个域名 ),Linux绑定多IP地址先自行搜索解决,以后再补充。

测试之前,确保域名已经解析到本服务器上且已生效。

本文默认按照80端口配置,还可以通过同IP但不同端口来区分不同网站,该情况一般是用在主机管理上。举个例子:可以使用http://192.168.1.100作为正常网址,而http://192.168.1.100:2020则可以用来做后台配置管理等。

绑定方法有很多种,比如虚拟绑定、单IP多域名绑定、多IP单域名绑定、多IP多域名绑定、端口识别绑定等等,而且每种绑定可能还有不同的实现方法,根据自己习惯和场合选择使用。

一、Apache绑定单IP多域名

1、示例绑定:

IP地址192.168.1.100

比如:对应两个域名http://chaodiquan.comhttp://chaodiquan.cn(域名)

2、绑定过程

a、打开http.conf,该文件位置在apache/conf下面,直接用文本编辑器即可打开。

b、添加以下字段,位置靠近ServerName 127.0.0.1或ServerName localhost:80下面附近,方便修改和理解。

view source
print?
1 <VirtualHost 192.168.1.100>

2 DocumentRoot D:/xampp/htdocs/chaodiquan.com

3 ServerName zhanhelp.com

4 </VirtualHost>

5 <VirtualHost 192.168.1.100>

6 DocumentRoot D:/xampp/htdocs/chaodiquan.com/wwwroot

7 ServerName chaodiquan.cn

8 </VirtualHost>

这个方法是对指定IP地址的主机比较适合,但是如果是动态获取IP地址的主机就有问题了,则可以把<VirtualHost 192.168.1.100>统一修改为<VirtualHost *:80>,这样设置后APACHE不再对IP区分,只根据ServerName和处理优先级识别。比如很多虚拟主机要求使用CNAME解析域名,那么该虚拟主机的IP可能会变化的,就无法使用上面的配置方法,还是<VirtualHost *:80>要更好用一些。

补充一下,如果是Linux主机,DocumentRoot字段需要修改为类似:

usr/local/www/chaodiquan.com/

usr/local/www/chaodiquan.com/wwwroot

这样的路径,该路径指向网站所在根目录或子目录。

c、此外还可以为每个域名指定单独的错误日志(ErrorLog)及用户日志地址(CustomLog)只需要把下面两句添加到上述<VirtualHost ...></VirtualHos>字段之间即可,示例如下(具体存储地址可根据实际情况修改掉):

ErrorLog "logs/error.log"

CustomLog "logs/access.log" combined

d、重启Apache服务即可生效。

二、Apache绑定多IP多域名

1、示例绑定

IP地址192.168.1.100/192.168.1.101
对应两个域名http://chaodiquan.comhttp://chaodiquan.cn

2、绑定过程

步骤同上文,还是打开httpd.conf,然后增加下面脚本。

view source
print?
1 <VirtualHost 192.168.1.100>

2 DocumentRoot D:/xampp/htdocs/chaodiquan.com

3 ServerName chaodiquan.com

4 </VirtualHost>

5 <VirtualHost 192.168.1.101>

6 DocumentRoot D:/xampp/htdocs/chaodiquan.cn

7 ServerName chaodiquan.cn

8 </VirtualHost>

这样就是两个IP地址对应两个域名。实际上在上面的单IP地址绑定中,提到<VirtualHost *:80>这样的设置方式也可以用来多IP访问,只是只能使用ServerName来区分,而如果输入对应的IP地址来访问,APACHE只会显示符合第一个优先级网站(假设无端口区分条件下),因为它无法判断IP地址与多域名之间的映射关系,所以使用明确的IP地址配置还是有点好处,支持直接输入IP地址访问,只是看起来不太好。

补充一下,如果是Linux主机,DocumentRoot字段需要修改为类似:

usr/local/www/chaodiquan.com/

usr/local/www/chaodiquan.com/wwwroot

这样的路径,该路径指向网站所在根目录或子目录。
Storm代理
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式