Chinaunix首页 | 论坛 | 博客
  • 博客访问: 189169
  • 博文数量: 71
  • 博客积分: 2990
  • 博客等级: 少校
  • 技术积分: 705
  • 用 户 组: 普通用户
  • 注册时间: 2005-03-29 14:04
文章分类

全部博文(71)

文章存档

2011年(1)

2009年(1)

2007年(6)

2006年(42)

2005年(21)

我的朋友

分类: 系统运维

2007-09-08 22:02:27

(Apache & IIS)同一个IP的同一个端口,绑定多个域名
(by 风色鸟)
 
    昨天听朋友说,同一个IP,可绑定多个域名。且都绑定在本地IP的80端口上。
    之前我知道,可以通过变换端口,来实现这个功能。所以这次很好奇。刚刚试了一下,实现如下:
 
----------------------------------------------------
Apache
 
Apache的“虚拟主机”,能够很好的支持多域名,绑定同一IP的某端口。
具体如下:
 
我要添加2个域名
  指向  D:\web1\
   指向  D:\web2\
修改httpd.conf
在文件最后找到

#NameVirtualHost *:80
#<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

仿照上面的例子,在此之后,添加

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName szwpc.51vip.biz
  DocumentRoot "D:/web1/"
</VirtualHost>

<VirtualHost *:80>
  ServerName szwpc.oicp.net
  DocumentRoot "D:/web2/"
</VirtualHost>

注意:别忘记了“NameVirtualHost    *:80”

 

----------------------------------------------------

IIS

IIS的,我没试验过,网上看到一篇很详细的介绍,就贴一下:

    假设两个域名:1.vicp.net和2.vicp.net,以下步骤将让用户访问1.vicp.net的时候读取c:\www1下的网站,访问2.vicp.net的时候读取C:\www2的网站,而使用1.vicp.net:8080、2.vicp.net:8080或直接使用ip地址访问(不带端口号的情况)则读取C:\www8080的网站。以上的路径和主机名称、端口号可以根据需要自行改变。

  1、首先我们建立三个测试目录,在C盘建立:www1,www2,www8080三个目录,然后在三个目录下分别拷贝三个不同的htm文件,把他们改为Default.htm

  2、打开Intenet 服务管理器,你会看到一个名字为默认站点得网站,处于安全原因我简易你先把它关掉(不要删除,否则重新建立会非常麻烦),点击“默认Web站点”按鼠标右键,或在工具栏点击停止键。这时别人访问你的域名或IP地址则会出错,不用担心,继续下一步。

  3、点击你的计算机名,按鼠标右键,选择“新建”-〉“Web站点”,Win2000会弹出一个网站向导,NT则弹出一个对话框,NT的内容比2000小一些,所以以下全部以2000为例。按下一步,填写网站的说明,这仅仅是说明,将会出现在Internt服务管理器的界面中标示你得网站,随便填点什么就行,我喜欢使用域名来标示网站,所以填上1.vicp.net,按“下一步”。

  4、在“输入Web站点使用的ip地址”栏选择“全部未分配”,既保持默认不动,这样不管是使用你的内部IP地址还是使用外部Internet IP地址都可以访问到这个网站,即使你的外部IP地址变化了也没有问题。千万不要选择你的外部IP地址,否则每次拨号后你都需要改变网站的IP,这样“花生壳”带来的方便性就荡然无存了。“此Web站点使用到的TCP端口”设置保持不动,即默然的80。然后在“此站点的主机头”栏填写:1.vicp.net。SSL端口保持空,这个设置我以后再说。按“下一步”。

  5、在“路径”栏输入c:\www1或按“浏览”键选择网站所在的目录。按下一步。

  6、访问权限部分不做任何修改。按“下一步”

  7、好了,按“完成”,这时你应该看到Internet服务管理器中你的计算机名下多了一个1.vicp.net。

  8、打开浏览器,在url栏中输入1.vicp.net,你应该能够看到C:\www1目录下的Default.htm页面。如果由问题请检查该目录下是否由Default.htm。以及你刚才操作是否正确。

检查的方法如下:在你得网站名称上按鼠标右键,弹出网站属性页面,暂时不要管其它设置,检查:在“Web站点”下的IP地址,端口,按“高级”键,查看“主机头名”,退出高级设置对话框,点击主目录,查看“本地路径”,点击“文档”查看默认文档是不是“Default.htm”。

  好了,已经设置好一个网站,不过这时使用2.vicp.net和ip地址访问还是有问题,别灰心,下面我们设置2.vicp.net。

  其实很简单,重复3-7步不过是1.vicp.net改成2.vicp.net将c:\www1改成C:\www2而已。举一反三,相信你会很快上手,不过别聪明过头了,我知道你会试8080的,不过你会碰壁的。

  下面我们需要建立第三个网站,这个网站不管你使用IP地址、还是上述域名中的任何一个加8080的端口号都能访问。

  重复3-7 步,但是在第4步不要,重复,不要填写此站点的主机头”,该栏必须留空。

  好了这个时候,如果你使用IP地址访问则会看到www8080目录的得Default.htm,不过使用1.vicp.net或2.vicp.net则看到www1或www2,很神奇吧。不过使用1.vicp.net:8080、2.vicp.net:8080或ip地址加8080 端口号,则出错。这很正常,见以下步骤:

  9、在第三个网站上按鼠标右键,选择“属性”,弹出网站的属性对话框,按“高级”弹出网站的高级属性对话框,(嘿嘿,我们已经玩得很高级了)。在“此站点由多个标识”下面的列表中你会看到一项内容:IP地址:全部未分配,端口:80,主机头名:空。然后按“添加”,弹出“高级站点标识”对话框。在“TCP端口”中填写8080,保持“IP地址”为全部未分配,“主机头名”为空,按“确定”,再“确定”,再“确定”。然后打开浏览器,输入1.vicp.net:8080,确定网站工作正常。

 

阅读(2936) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~