iT邦幫忙

0

DNS轉址到Web主機子目錄下的網頁

bbcash 2011-01-26 12:03:2821149 瀏覽
  • 分享至 

  • xImage

想請教各位先進

目前使用 fedora+Bind 9 作DNS Server
user單位提出需求
Internet user 瀏覽器上直接輸入http://www.abc.com後要直接由DNS轉指 http://www.123.com/subfolder/

想請問各位大大
這樣的需求可否不去動到Web主機的網頁設定
單獨只從Bind DNS 動作的話可以直接轉指到子目錄下嗎?

期待能有解
謝謝!!

看更多先前的討論...收起先前的討論...
其實還有幾種方法可以達到bbcash原想達到的方式。
其中一個是利用:
[發問][轉址]我要如何將原有網址自動轉到新網址? 所提及的 truevirtual.tar.gz 這個程式。
而 bbcash 問題裡的 www.abc.com、www.123.com/subfolder/ 如果是不同機器的話,123.com如果是無法變更其web server設定的話。
www.abc.com 這台機器至少有三種做法可指到 www.123.com/subfolder/
一、即是在 www.abc.com 上做 redirect 的動作,
就apache而言,可用 RedirectRewrite 等語法。
使用者的browser上的url就直接被轉到123.com的網址。
而這 www.abc.com 的架設,是不是要用到 Name-Based Virtual Host 的功能,
跟要解決這一題的主要問題,其實是無關的。
二、是在www.abc.com的 / 根目錄上做 frame,
只要在 www.abc.com 的 / 或者重導 / 以下的任何目錄網頁,
都指向到 /,其內容為:
<HTML><HEAD><TITLE>ABC.com</TITLE></HEAD>
<FRAMESET ROWS="100%,*" FRAMESPACING=0 FRAMEBORDER=0 BORDER=0>
<FRAME SRC="http://www.123.com/subfolder/" NAME=MAIN SCROLLING="AUTO" NORESIZE FRAMEBORDER=0 BORDER=0 MARGINHEIGHT=3 MARGINWIDTH=3>
</FRAMESET></HTML>
這樣,browser的url都固定在www.abc.com,
但裡面各網頁卻都是看 123.com。

三、用apache、nginx裡的 proxy 的功能,
或應說是用 reverse proxy 的功能,
參考一下:Apache的ProxyPass指令詳解 的使用說明,
或者 apache 的 mod_proxy或 nginx 的 HttpProxyModule 設定說明。
這會讓使用者的browser的網址都只看到是 www.abc.com,
而不知道有 www.123.com 的網址,
除非你在 123.com 的裡面連結是連 http://www.123.com/ 整個hostname都寫出來。
上述三種做法都與 虛擬主機 的議題無關,
除非 www.abc.com 已是其他 web 服務,
為了維持原 web 服務之外,才需要 Virtual Host的功能,
然後 Virtual Host 才設成上述的其中一種來呈現那真正的網頁內容。

bbcash並未提到DNS所要指到 www.abc.com 的機器,
是不是自己管理架設的,
如果不在意那機器是否是自己架的,
甚至沒有機器可做為導到 123.com 的內容為 abc.com 的話,
那就需要第三方的機器,
來提供中介的服務。
縮址服務或掛在別人的子目錄,
那與有沒有申請 abc.com 似乎是沒關係。
因為 www.abc.com 的 A record都並未指到那第三方的機器。

上述曾提到的 truevirtual.tar.gz,
www.abc.com 的 IP 就得指到該服務,
而該服務的機器就能轉到所指定的網頁。
這裡所講的「轉址」,
通常是在 web server 上,指定 hostname 是什麼,
是要在 server 系統上的設定來做轉址。
但這 truevirtual 卻是第 AP 上的層級來做轉址。
看到這舊的 perl 的轉址程式,
讓我想寫ruby版的類似轉址工具。
原理其實是蠻簡單:
web server不指定 hostname 或 Default 的,
指到我的 ruby 程式,
然後透過 http 環境變數中的 HTTP_HOST 來決定,
上述三種的哪種方式來轉址。
現在正在試著寫這在AP層級的轉址功能。
bbcash iT邦新手 1 級 ‧ 2011-01-28 09:43:07 檢舉
twtw大 的說明好詳細喔
很受用
非常感激!!
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
16
alvinshih
iT邦新手 4 級 ‧ 2011-01-26 14:15:21
最佳解答

簡單一句:辦不到!

8
bzbz
iT邦新手 2 級 ‧ 2011-01-26 19:33:28

你乾脆用ShortenURL好了,縮網址幫你轉址,也不用架...XD

bbcash iT邦新手 1 級 ‧ 2011-01-27 08:29:14 檢舉

感謝bzbz大您的回覆
可否請問不知誰知道 像您說的這種ShortenURL 以及TWNIC Hinet等
幫忙做網頁的網址直接做轉址 架了什麼樣的Server 可以辦到呢?

alvinshih iT邦新手 4 級 ‧ 2011-01-27 09:40:33 檢舉

縮網址使用的就是VirtualHost的技術。

6
不明

首頁改成直接轉向的指令就好了

bbcash iT邦新手 1 級 ‧ 2011-01-27 09:00:37 檢舉

謝謝jasechu大的回覆
想請教的是如果不動 WebServer
自己架DNS server 還要再作哪部份 可以達到這樣的需求嗎?

16
gulin0928
iT邦新手 2 級 ‧ 2011-01-27 08:58:45

DNS 只是解析IP,跟Web目錄並沒有甚麼關係。您的需求除非是架設Virtual Host,或者是在Web root 下建立一個轉址的頁面,只要連到http://www.abc.com,幫你轉址到http://www.123.com/subfolder/,就是Jasechu大大所說的方式。

6
尼克
iT邦大師 1 級 ‧ 2011-01-27 10:53:36

在你的www.abc.com 首頁程式碼中加入底下ASP程式碼,即可

&lt;pre class="c" name="code">&lt;%
Response.Redirect "http://www.123.com/subfolder/index.asp"
%>
看更多先前的回應...收起先前的回應...
bbcash iT邦新手 1 級 ‧ 2011-01-27 11:22:05 檢舉

謝謝nickliao1大的回覆
想請教的是如果不動 WebServer
自己架DNS server 還要再作哪部份 可以達到這樣的需求呢?

小成 iT邦高手 10 級 ‧ 2011-01-27 15:49:54 檢舉

我想
gulin0928跟alvinshih兩位大大應該給了最準確的答案了
你應該先搞懂DNS是在做甚麼的

bbcash iT邦新手 1 級 ‧ 2011-01-27 17:09:16 檢舉

esyc大 謝謝您的熱心協助
不是我故意找麻煩 請您理解
1.user單位自己去找SI廠商 提出這樣的需求 廠商來的技術顧問回答的得很快很直覺
好像有點覺得MIS對這方面似乎不熟 我才會摸不著頭緒
如果確定不能作的話 我便可以很堅決的回覆User說 作不到
2.關於Hinet & TWNIC 的網頁轉址 不知有哪位大大知道怎麼作到的呢

rickhsu iT邦高手 6 級 ‧ 2011-01-27 17:31:44 檢舉

DNS只做一件事,
就是將USER輸入在瀏覽器上的主機名稱轉換成IP,
進而讓瀏覽器能找到那台WEB SERVER主機,
至於WEB SERVER上有什麼網頁要給USER看,
是在主目錄、次目錄或是要導到其他地方,
那是WEB SERVER的事情。與DNS均無直接關係。

因此,您的需求,上面很多人都回答了,光靠DNS而不動WEB SERVER,是無法達到的。

neo2124 iT邦新手 2 級 ‧ 2011-01-27 17:45:47 檢舉

如上面各位大大所說 自已設定轉址就好
在根目錄下 例如是 /var/www/www.abc.com./ 中

建立一index.html

內容設為
<meta http-equiv="Refresh" content="0; url=www.123.com/subfolder/">

即可讓達到需求

bbcash iT邦新手 1 級 ‧ 2011-01-27 18:21:13 檢舉

非常謝謝 各位大大的幫忙
我想那些幫忙做網頁轉址的服務商 應該是類似自己又架了Virtual Host 幫忙轉址
來達到這樣的需求!!

4
小灰狼
iT邦新手 5 級 ‧ 2011-01-27 17:29:57

DNS除了A記錄外可以設定另一種叫做CNAME的東西就可以指向到網址(含子目錄)

sheng514 iT邦新手 1 級 ‧ 2011-01-27 23:36:16 檢舉

別名紀錄只是可加上子網域名稱對應相同的IP而已,沒辦法到目錄
有道目錄的都是程式控制的..

小灰狼 iT邦新手 5 級 ‧ 2011-01-27 23:58:16 檢舉

原來如此
那看起來真的是沒辦法 一定要動到webserver了

我要發表回答

立即登入回答