在講到dns及apache中文網址的觀念及設定以前,有一個很重要的觀念一定要很清楚,這個就是 punycode,簡單一句就是將 中文網址 做轉碼的動作。
Punycode可以防止所謂的IDN欺騙,除了需要先了解 punycode外,你還必須有設定 dns(named.conf及zone)以及apache(虛擬主機)的經驗。
例如:當使用者從瀏覽器輸入【網路實驗室.org】時,在dns及apache伺服器是要如何接收這樣的中文網址呢?
流程如下:
1. 使用者從瀏覽器輸入【網路實驗室.org】
2. 瀏覽器會將【網路實驗室.org】轉換成 punycode (punycode 為 xn--wbtvf415hdun0to.org)
3. 依據此punycode(xn--wbtvf415hdun0to.org) 去 dns伺服器查詢IP
4. 當查詢到IP後,再將此punycode (xn--wbtvf415hdun0to.org) 連至 apache伺服器
以上的流程中有一個很重要的地方,那就是 dns 及 apache都是依據 punycode 去做查詢IP 及 連結至網站,而不是依據 中文網址;所以,我們在做dns 及 apache設定時,都是要依據 punycode 而不是 中文網址。
講到這裡你可能會需要 punycode轉碼工具 以及 dns中文網址設定範例 以及 apache中文網址設定範例,所需工具如下:
1. punycode轉碼工具
2. dns中文網址設定範例
3. apache中文網址設定範例:只需要修改 ServerName 即可
原本的vhost.conf設定
引用:
<VirtualHost *:80>
ServerName 網路實驗室.org
…..
</VirtualHost>
punycode轉碼後的設定
<VirtualHost *:80>
ServerName xn--wbtvf415hdun0to.org
…..
</VirtualHost>
透過以上的流程...就可以達到 中文網址轉碼 的目地了~~