2012年10月17日 星期三

IPv6的網頁伺服器Apache設定 次要群組 [網際技術::APACHE]

此文完整連結 http://note.tc.edu.tw/171.html

IPv6的網頁伺服器----Apache設定
APACHE 很早就已經支援IPv6了,至於有多早,大概2006年左右我就試過讀取本機的 ::1 APACHE成功。不過那時是在 console 介面用 telnet  80取得,事實上那時也沒有Ipv6的環境可以真的路由來測試,純測爽的。事實上測通的系統(CentOS4.2)是2004年就裝好了,中間並沒有更新 APACHE,所以就知道其實至少早在2004年就支援v6了,實際多早就要查了。
要設定 Apache支援IPv6的話,設定很簡單, 以下是關鍵步驟:

一、httpd.conf 監聽埠設定

原本v4的全介面監聽 Listen 80 和 v6 的介面監聽 [::]:80 如果要同時監聽 v4 + v6
一定要 By IP設定,不能再使用懶人法::80 或 [::]:80

例如我有 v4 2個介面 + v6 2個介面 則要設四條,注意v6位址一定要用[ ] 框起:
Listen 127.0.0.1:80
Listen 163.17.38.83:80
Listen [2001:288:5400:2::83]:80
Listen [2001:288:5400:2::1]:80

如果所有介面都要監聽,則只設定一條,其餘刪除:
Listen 80

二、VH的話無變更,和v4相同
以中縣網的 ipv6.tcc.edu.tw為例:

NameVirtualHost *:80


<VirtualHost *:80>

   DocumentRoot /home/ipv6/html
   ServerName ipv6.tcc.edu.tw
   CustomLog /var/log/http-access/ipv6.tcc.edu.tw combined
   ErrorLog /var/log/http-error/ipv6.tcc.edu.tw
   ServerAlias ip6.tcc.edu.tw
</VirtualHost>

注意這裡的 <, >已被換成全型的,請自換回半型字

三、DNS 也要設定

DNS 加上 AAAA 記錄

ipv6.tcc.edu.tw.   IN      AAAA    2001:288:5400:2::1


、網頁瀏覽方法

用網址不改變習慣
http://ipv6.tcc.edu.tw/
用 IP6記得加中括號把位址包起來 [ ]
http://[2001:288:5400:2::1]/
、其他
這裡特別提醒各位我遇到的狀況,經驗分享:
1.  DNS 已設定了 AAAA 的記錄,伺服器也支援v6,介面也設定完畢,但是 APACHE 「只」監聽 v4 的介面。這時如果有人以v6的機器瀏覽網頁,有時會發生「找不到網頁」的情況。猜測因為優先權 v6>v4,所以使用者瀏覽網頁時,會先問到v6的位址,並以v6進行連線,因為伺服器已啟動v6,所以使用者的電腦會以v6向網頁伺服器索取 (Request)頁面,但網頁伺服器事實上沒監聽v6的介面。所以使用者瀏覽器就會一直等待直到逾時,而不會自動改成v4連線。
2. XP 「一律會用 v4」 的方式詢問及取回 DNS 的資料。所以已支援 v6 的XP,如果拿掉 v4 的DNS位址,就一定得不到DNS資料,所以一定要手動設定 ipv6 的 dns 。

沒有留言:

張貼留言