今天遇到一个问题,在创建新的web应用程序后,再创建网站集,显示创建成功,但是我打开链接时,总是出错,显示无法找到服务器,或无法找到文件.
搜索一下,看到有人遇到同样的问题,但并没有人解答出来,无奈,只好自己找原因.
第一步:新建另一个web应用程序,新建网站集,(设置里我并不是默认的)打开链接,问题仍然存在;
说明:这时候我还是找不到原因
第二步:新建Web应用程序,新建网站集,(设置全改成默认,只添加用户名和密码),打开链接,OK;
说明:也就是说我的设置有问题,但我仍然不知道是哪里的问题
第三步:对照两个设置的不同,我只改动自认为不影响结果的设置,新建Web应用程序,新建网站集,测试,也OK
第四步:找最后一个可以影响结果的设置,加入数据,出现问题.
说明:好了,就是这个东西,是在Web应用程序中,有一个“主机标头”的设置,这个影响的最终的结果。
没办法,因为自己菜,只能搜索这是个什么东东:
搜索结果解释如下:
在一台计算机上实现多个Web站点的方式称为虚拟服务器。对于多个小型站点,虚拟服务器可以极大地节省硬件成本。
域名是区分站点的唯一的性标记,站点的数量是与域名数相等的;同时,一个域名往往与一个IP地址唯一对应的,这样,必须要求服务器拥有的IP地址数与虚拟服务器的数量相同。但是由于IP地址的稀缺,所以要借助其他的方法实现同一IP地址对应多个站点。
有两种方法可以做到这一点:端口方法和主机头方法。
1、 更改端口号方式
TCP端口号是客户机浏览器与Web服务器之间的信息通道,TCP端口号可以多达四位数。每种网络服务都需要在服务器端指定一个TCP端口号,客户机只有指定了同一端口号之后才能与服务器建立通信联系。那么,为什么我们通常浏览Web网站时不必输入端口号呢,这是因为普通的Internet服务拥有固定的缺省端口号,例如WWW服务的缺省端口号为80,FTP服务的缺省端口号为21。当我们在浏览器中输入站点地址时,即使不指定80位端口号,浏览器仍然自动的以TCP端口80与服务器进行通信。
端口号与IP地址同样是用于区分站点的唯一性标识,这样,即使两个站点拥有同样的IP地址,但只要给它们指定不同的TCP端口号就可以将它们区分开来。但是,一旦将端口号从默认的80更改为其他数值,客户浏览器并不能直接以更改过的端口打开网页,客户必须手工指定它TCP端口号,就是在浏览器地址栏中输入域名之后加上":"和端口号数值。例如,在同一台服务器上有两个网站www.Site1.com和www.Site2.com,它们共用一个IP地址168.192.3.15,我们配制www.Site1.com使用默认端口号80,而www.Site2.com的端口号为8088,那么我们在浏览器地址栏中输入地址168.192.3.15得到的是Site1,要想访问Site2就要输入168.192.3.15:8088。
指定或更改站点端口号:
IIS à 站点 à 属性 à 网站 à TCP端口
2、 主机标头方式
主机标头(Host Header)是除了IP地址和TCP端口号之外的第三个用于区分站点的唯一性标识。这样,对于两个共用同一个IP地址且都采用默认TCP端口号80的站点,只要为它们指定不同的主机标头,就可以唯一的在网络中将它们区分开。
主机标头这种技术是在HTTP 1.1标准中定义的,因此,对于在IIS中使用主机标头进行配制的站点,客户浏览器必须支持HTTP 1.1标准才能进行浏览。高于3.0版本的IE和高于2.0版本的Netscape浏览器支持HTTP 1.1标准。
为站点添加主机标头的方法:
IIS à 站点 à 属性 à 网站 à 高级 à 高级Web站点标识 à 添加 à 设置信息
可以指定多个站点拥有同一IP地址、TCP端口号,只要保持它们的主机标头各不相同即可。随后,应在DNS服务器中将这些主机头名统统映射到它们共同的IP地址上。在客户浏览器中输入主机头名即可访问相应站点。
OK,知道了原理,那解决起来容易啦,结果发现其实都不用我解决,在网上找到了一篇文章,按那个设置了一下,全部OK。
以下转自博客园的文章:
通过主机标头实现多个SharePoint Web应用程序共用一个端口
IIS中可以通过配置主机标头实现一个端口下的多个DNS名称。只要对应的DNS名称可以被解析为该IIS服务器的IP地址就行。借此,可以使多个站点共用相同的IP和端口号 。在MOSS中,我们在管理中心里创建Web应用程序时也可以设置主机标头。本文就是利用这一设置来使多个根网站集(/)放在同一个端口下。
下面的例子中,我们将创建三个网站集:
http://www.a.com:35641/
http://www.b.com:35641/
http://www.c.com:35641/
这三个网站集所宿主的Web应用程序都使用35641端口。Web服务器的IP地址是192.168.101.180,机器名为mossweb。
创建Web应用程序
1、打开SharePoint 3.0管理中心
2、点击“应用程序管理”标签
3、在“SharePoint Web应用程序管理”一节下,点“创建和扩展Web应用程序”。
4、在“创建和扩展Web应用程序”页面中,点“新建Web应用程序”。
5、 在“新建Web应用程序”页面中,IIS网站一节中,选“新建IIS 网站”。在下面的“端口”一栏中输入35641;在主机标头一栏中输入www.a.com。根据需要调整其他项的值。
6、点“确定”。
图1 SharePoint 3.0管理中心里的主机标头配置项
等待创建过程结束后,a网站集宿主的Web应用程序就创建好了。在该Web应用程序下,我们可以创建常规的网站集。
创建网站集
这里我们套用最简单的“空白网站”模板来创建a网站集。
1、打开SharePoint 3.0管理中心
2、点击“应用程序管理”标签
3、在“SharePoint 网站管理”一节下,点“创建网站集”。
4、在“创建网站集”页面中,Web应用程序一节中,选择刚刚创建好的宿主:SharePoint – www.a.com35641。填写标题,选择“空白网站”模板,填写网站集管理员。
5、点“确定”。
等待创建过程结束后,“http://www.a.com:35641/”网站集就创建好了。
使用类似的方式,我们可以创建出“http://www.b.com:35641/”和“www.c.com:35641/”。只要在Web应用程序创建的第5步中将主机标头分别写为www.b.com和www.c.com即可。
至此,SharePoint部分的工作就完成了。下面要配置地址解析。
在实验环境下,最简单直接的地址解析可以利用本地host文件来实现。
修改Hosts文件
1、在 C:/windows/system32/drivers/etc 文件夹中找到Hosts文件并用记事本打开。
2、按照 ip地址 域名 的格式添加单独的一行记录。这里加入刚刚创建的3个SharePoint网站集站点DNS名称。如下:
192.168.101.180 www.a.com
192.168.101.180 www.b.com
192.168.101.180 www.c.com
注意:IP地址前面不要有空格,ip地址和域名之间至少1个空格。
3、修改完成后保存文件。
由于是本地Hosts文件,所以这种方式只能适用与本地的解析。在生产环境下修改每个客户端的hosts文件显然不是很方便。这时,我们可以利用DNS服务器来进行解析。
DNS服务器端配置解析
1、在DNS服务器上,打开“管理工具”中的DNS管理控制台。
2、在“正向查找区域”上右键选择“新建区域”。
3、在出现的新建区域向导窗体中,新建一个主要区域,区域名称为a.com
4、在刚创建的区域上右键选择“新建主机(A)”来新建一条A记录。
5、在出现的新建主机窗体中,名称填写 www,IP地址填写 192.168.101.180
6、 点“添加主机”。
这样,就为DNS名称www.a.com添加了一条DNS记录。同样,我们再添加www.b.com与www.c.com的DNS记录即可。只要将上面第3步中的a.com改为b.com和c.com即可。
测试解析
如果要测试刚刚添加的DNS名称解析是否生效,可以在命令行中输入如下命令:
ping 域名
例如:ping www.a.com
显示类似Reply from 192.168.101.180: bytes=32 time<1ms TTL=128就说明成功解析了。
现在,我们就可以通过在浏览器地址栏中输入http://www.a.com:35641来访问a站点了。对与b,c两个站点也是一样。我们可以看到,这3个SharePoint网站集都在35641端口下。
使用主机标头有如下限制:当站点使用SSL增强安全性时,就不能使用主机标头。另外,浏览器也需要支持主机标头技术,但目前几乎所有的浏览器都支持,所以大可忽略这条限制。
总结:基本原理没弄清,基础没吃透,很吃亏!