打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Apache绑定多IP多域名
  1. 为Apache绑定多IP多域名(备用)

当然还想尝试多域名的功能 – 网上也有很多.

 

http://www.metsky.com/archives/504.html

 

相比上一篇IIS上绑定多IP多域名,在Apache服务器上绑定方法要简单些,主要因为Apache是个开源独立的服务器软件,而且支持跨平台安 装和配置,支持丰富的API扩展,所以很多人对Apache的好感要甚于IIS,Apache的优点就不用多说了,还是来看看如何为Apache配置多 IP和多域名,天缘在上篇文章中说过,多IP和多域名绑定问题有很多种方法,所以本文仍然只介绍常规的绑定方法,即通过修改httpd.conf文件来绑定IP地址和域名。

HTTPD配置文件说明:Apache服务器httpd.conf配置文件说明

注意:

  • 无论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多域名绑定、端口识别绑定等等,而且每种绑定可能还有不同的实现方法,根据自己习惯和场合选择使用。
  1. Apache绑定单IP多域名

1、示例绑定:

  • IP地址192.168.1.100
  • 对应两个域名http://metsky.com和http://bbs.metsky.com(二级域名)

2、绑定过程

a、打开http.conf,该文件位置在apache/conf下面,直接用文本编辑器即可打开。
b、添加以下字段,位置靠近ServerName 127.0.0.1或ServerName localhost:80下面附近,方便修改和理解。

1

<VirtualHost 192.168.1.100>

2

DocumentRoot D:/xampp/htdocs/metsky.com

 

3

ServerName metsky.com

4

</VirtualHost>

 

5

<VirtualHost 192.168.1.100>

6

DocumentRoot D:/xampp/htdocs/metsky.com/bbs

 

7

ServerName bbs.metsky.com

8

</VirtualHost>

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

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

usr/local/www/metsky.com/

usr/local/www/metsky.com/bbs

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

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

ErrorLog "logs/error.log"

CustomLog "logs/access.log" combined

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

  1. Apache绑定多IP多域名

1、示例绑定

  • IP地址192.168.1.100/192.168.1.101
  • 对应两个域名http://metsky.com和http://abc.com

2、绑定过程

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

1

<VirtualHost 192.168.1.100>

2

DocumentRoot D:/xampp/htdocs/metsky.com

 

3

ServerName metsky.com

4

</VirtualHost>

 

5

<VirtualHost 192.168.1.101>

6

DocumentRoot D:/xampp/htdocs/abc.com

 

7

ServerName abc.com

8

</VirtualHost>

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

3、如何禁止Aache输入IP地址访问

要想禁止直接输入IP地址访问网站,只需再增加这么一段(其它IP类似处理):

1

<VirtualHost 192.168.1.100>

2

DocumentRoot D:/xampp/htdocs/forbidden

 

3

ServerName 192.168.1.100

4

</VirtualHost>

如果要禁止某个IP段直接输入IP访问,可以使用通配符,比如192.168.1.*或192.*或*,比如:

1

<VirtualHost 192.168.1.*>

2

DocumentRoot D:/xampp/htdocs/forbidden

 

3

ServerName 192.168.1.*

4

</VirtualHost>

其中forbidden是禁止访问目录,可以放一个包含提示信息的文件,比如index.html等。

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Apache虚拟主机的配置
Apache:在一个IP地址上运行多个基于域名的web站点 转载
linux下Apache的使用
Apache中,同一IP使用多域名对应多个网站的方法
apache禁止使用IP访问的实现方法
linux下用Apache一个IP多个网站多域名配置方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服