一.如何使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。
图1 在ORAY的控制台查看域名的PUNYCODE
(2)使用CNNIC提供的中文域名在线转码程序。打开http://www.cnnic.net.cn/html/Dir/2003/10/29/1112.htm 后,输入要转换的中文域名,然后选择“转成punycode”,提交便可。
图2 CNNIC提供的转换工具
图3 转换后的结果
什么是Nameprep?
二.安装IIS组件
Windows Server 2003 默认安装,是不安装IIS 6 的,需要另外安装。步骤如下:
打开控制面板的“添加/删除程序”- Windows组件向导 - 应用程序服务器 - 选中“Asp.NET”,然后系统会自动把“Internet 信息服务(IIS)”的相关服务也装上。如下图:
图4 安装IIS
在选定需要安装的服务后,安装向导会提示需要插入Windows 2003安装光盘,插入安装盘后按照提示进行安装,IIS中的WEB很快便自动安装完成。
三.建立WEB网站
1.打开Internet 信息服务(IIS)管理器,可以在 开始菜单的“运行”输入“Inetmgr”打开,也可以通过控制面板 – 管理工具进行打开。
图5 Internet 信息服务(IIS)管理器的界面
2.右击“网站”- 新建 - 网站 - 下一步,这里要求输入站点描述,这个描述是IIS里面的一个识别,只是为了自己方便识别不同站点。在这里,输入“动态域名.net”。
图6 创建一个新站点
3.(1)网站IP地址:一般没有特殊要求的,选择“全部未分配”就可以了。(2)端口:一般使用默认值80,那么别人访问您的网站的时候就不需要在后面加端口号。如果换成了其他端口,别人访问您的时候就需要在域名后加上端口,例如,把端口换成8080。则在浏览器里需要输入http://域名:8080 进行访问,并且前面的HTTP不能省略。(3)主机头:当要建立多个网站的时候,这里才需要设置。如果你的服务器上只有一个网站,那么这里保留为空便可。
图7 创建新站点时的设置
按下一步后,IIS会要你设置网站所在的目录。然后设置网站的权限,如果你的网站需要运行ASP等脚本程序,则选上“运行脚本(如 ASP)”。这样,就基本完成了整个站点的建立。
图8 设定网站访问权限
4.IIS 6比IIS 5多了一个“WEB服务扩展”功能,如果这里没有设置正确,那么ASP等其他脚本网页也是无法正常显示的。双击“Web服务扩展”,然后在Active Server Pages(即ASP)上点击鼠标右键,选择“允许”,便可开启对ASP的支持。
图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 设置主机头一
图11 设置主机头二
到此为止,IIS多个中文域名对应多个网站的主机头的设置便完成了,访问者可以通过输入“动态域名.net”、“中文域名测试.net”来访问它们相对应的网站。
五.用中文域名访问主机
1.因为这里用的“动态域名.net”和“中文域名测试.net”是ORAY的动态域名,所以要先在服务器上,用域名对应的花生壳护照登陆客户端程序,域名才能被正确解析到服务器的IP地址。当然,如果你的域名是在其它地方注册商申请的,已经指向到服务器的IP地址上,可以省略这一步。
图12 在花生壳中设置主机的IP
2.另外,这里先来了解一下什么是i-Nav。i-Nav是国际领先的数字信任服务提供商VeriSign提供的一个浏览器插件。有了这个插件,您可以在浏览器中直接输入中文域名,或者点击网页中的链接便能访问中文域名对应的网站。
所以,当访问者在浏览器输入“http://动态域名.net” 时:(1) 如果计算机上安装了“i-Nav”插件的话,那么直接便可以打开域名所对应的网站。(2)如果计算机上没有安装“i-Nav”插件,会转到VERISIGN提示安装。如果访问者不想安装插件,在点击“不,谢谢”后,便会转到配置好的网站上。
图13 可选的“i-Nav”插件的安装
打开IE浏览器,分别访问“动态域名.net”和“中文域名测试.net”进行测试,以下是测试的结果。在这里要提醒一下大家,别忘记了给网站设置默认的首页文档,否则可能会造成网站无法访问。(首页文档可在站点的“属性”―“文档”中进行设置)
图14 中文域名访问示例一
图15 中文域名访问示例二