为IIS配置中文域名访问功能

时间:2022-09-03 20:11:48
2006年,互联网上除了世界杯外最火热的要数中文域名。在微软发布了IE7.0将会全面支持中文域名的消息后,国内掀起了抢注中文域名的热潮,不少企业和个人出于品牌保护等原因,纷纷注册了自己中文域名。虽然,现在距离IE7.0的正式发布还有好一段日子,但还是可以提前领略一下中文域名带来的魅力。下面就给大家介绍一下,如何在Windows2003里面使用中文域名来访问自己的WEB服务器。

一.如何使IIS支持中文域名

首先了解一下,如何才能使IIS支持中文域名。

因为经过 Nameprep处理过的国际化域名是以 Unicode 序列的形式表示的。但现有的 DNS系统只支持用 ASCII字符表示的域名,所以要对 Unicode 序列进行 ACE (ASCII-compatible encoding) 编码,把 Unicode序列表示的域名转换成 ASCII 字符串表示的ACE 域名。

PunyCode是一种专为国际化域名而设计的高效ACE 编码方式。它可以在Unicode序列和ASCII 字符串之间进行唯一的和可逆的转换。转换的过程中,Unicode 序列中的ASCII字符保持不变,国际化字符则用字母和数字来表示。它的实质是一种用数量有限的基本字符(字母和数字)来唯一地表示大字符集(Unicode)中的字符的通用算法。域名中的字符,包括 ASCII 码和 Unicode 码,都是作为整数进行处理。

也就是说,要让IIS支持中文域名,只需要在输入中文域名的地方,输入中文域名的PunyCode编码便可。当然,具体的转换计算过程并不需要自己去做,这里给大家介绍两种获得域名的PunyCode的方法。

(1)如果域名是在ORAY注册的,那么登陆ORAY的控制台,进入域名管理,在域名状态里面会显示该中文域名的PunyCode。

为IIS配置中文域名访问功能

图1 在ORAY的控制台查看域名的PUNYCODE

(2)使用CNNIC提供的中文域名在线转码程序。打开http://www.cnnic.net.cn/html/Dir/2003/10/29/1112.htm 后,输入要转换的中文域名,然后选择“转成punycode”,提交便可。

为IIS配置中文域名访问功能

图2 CNNIC提供的转换工具

为IIS配置中文域名访问功能

图3 转换后的结果

什么是Nameprep?

Nameprep 是“A Stringprep Profile for Internationalized Domain Names (IDN)”,它描述了如何准备一个多语种域名,包括对一个域名字段进行映射、正规化以及禁止性过滤等等操作。

二.安装IIS组件

Windows Server 2003 默认安装,是不安装IIS 6 的,需要另外安装。步骤如下:

打开控制面板的“添加/删除程序”- Windows组件向导 - 应用程序服务器- 选中“Asp.NET”,然后系统会自动把“Internet 信息服务(IIS)”的相关服务也装上。如下图:

为IIS配置中文域名访问功能

图4 安装IIS

在选定需要安装的服务后,安装向导会提示需要插入Windows 2003安装光盘,插入安装盘后按照提示进行安装,IIS中的WEB很快便自动安装完成。

三.建立WEB网站

1.打开Internet 信息服务(IIS)管理器,可以在开始菜单的“运行”输入“Inetmgr”打开,也可以通过控制面板 – 管理工具进行打开。

为IIS配置中文域名访问功能

图5 Internet 信息服务(IIS)管理器的界面

按下一步后,IIS会要你设置网站所在的目录。然后设置网站的权限,如果你的网站需要运行ASP等脚本程序,则选上“运行脚本(如 ASP)”。这样,就基本完成了整个站点的建立。

为IIS配置中文域名访问功能

图8 设定网站访问权限

4.IIS 6比IIS 5多了一个“WEB服务扩展”功能,如果这里没有设置正确,那么ASP等其他脚本网页也是无法正常显示的。双击“Web服务扩展”,然后在Active Server Pages(即ASP)上点击鼠标右键,选择“允许”,便可开启对ASP的支持。

为IIS配置中文域名访问功能

图9 IIS6的设置

通过上面的步骤,便完成了单个网站的建立。

四.建立多个网站的主机头设置

实际上,很多时候都需要为IIS设置多个网站。通过设置IIS的主机头,可实现不同的域名访问不同的站点。但主机头设置里面,是不允许输入中文的。因此,在进行设置之前要先把中文域名转化成为PunyCode编码,然后在主机头设置里面填上中文域名所对应的PunyCode便可。这里以“动态域名. net”和“中文域名测试.net”为例子,来说明中文域名的IIS主机头的设置。

在上面的文章里,已知“动态域名.net”、“中文域名测试.net”对应的PunyCode分别是:“xn-- 6fR65A27F61K.net”和“xn--fiQ06L2rDsvScfJi99B.net”。并且已经建立了“动态域名.net”这个网站,接下来修改一下它的主机头。右击网站,选择属性 - 网站 -高级,点击里面的“编辑”按钮,便可以修改主机头的设置,在里面输入“xn--6fR65A27F61K.net”。接着,再新建一个“中文域名测试. net”的网站,主机头里面填“xn--fiQ06L2rDsvScfJi99B.net”。

图10 设置主机头一

为IIS配置中文域名访问功能

图11 设置主机头二

到此为止,IIS多个中文域名对应多个网站的主机头的设置便完成了,访问者可以通过输入“动态域名.net”、“中文域名测试.net”来访问它们相对应的网站。

五.用中文域名访问主机

1.因为这里用的“动态域名.net”和“中文域名测试.net”是ORAY的动态域名,所以要先在服务器上,用域名对应的花生壳护照登陆客户端程序,域名才能被正确解析到服务器的IP地址。当然,如果你的域名是在其它地方注册商申请的,已经指向到服务器的IP地址上,可以省略这一步。

为IIS配置中文域名访问功能

图12 在花生壳中设置主机的IP

2.另外,这里先来了解一下什么是i-Nav。i-Nav是国际领先的数字信任服务提供商VeriSign提供的一个浏览器插件。有了这个插件,您可以在浏览器中直接输入中文域名,或者点击网页中的链接便能访问中文域名对应的网站。

所以,当访问者在浏览器输入“http://动态域名.net” 时:(1)如果计算机上安装了“i-Nav”插件的话,那么直接便可以打开域名所对应的网站。(2)如果计算机上没有安装“i-Nav”插件,会转到 VERISIGN提示安装。如果访问者不想安装插件,在点击“不,谢谢”后,便会转到配置好的网站上。

为IIS配置中文域名访问功能

图13 可选的“i-Nav”插件的安装

打开IE浏览器,分别访问“动态域名.net”和“中文域名测试.net”进行测试,以下是测试的结果。在这里要提醒一下大家,别忘记了给网站设置默认的首页文档,否则可能会造成网站无法访问。(首页文档可在站点的“属性”―“文档”中进行设置)

为IIS配置中文域名访问功能

图14 中文域名访问示例一

为IIS配置中文域名访问功能