Apache-2.2

無法在瀏覽器上執行本地版本的 example.com

  • April 5, 2021

我希望在我的本地測試伺服器(Win XP)上執行 example.com。為此,我能夠為 example.com 設置 BIND 和配置區域。本地 DNS 伺服器和本地 Apache Web 伺服器都執行良好。但是,當我在瀏覽器上嘗試 example.com 時,它會將我帶到原始 example.com 而不是本地版本。

那麼我在這裡錯過了什麼?為什麼 example.com 不能指向 Apache 中的本地版本。

example.com 的區域記錄

$TTL 3h
example.com. IN SOA ns1.example.com. ns2.example.com. (
                         1        ; Serial
                         3h       ; Refresh after 3 hours
                         1h       ; Retry after 1 hour
                         1w       ; Expire after 1 week
                         1h )     ; Negative caching TTL of 1 hour

;
; Name servers
;
example.com.  IN NS  ns1.example.com.

;
; Addresses for the canonical names
;
localhost      IN A     127.0.0.1
ns1            IN A     192.168.1.2
  1. ISC BIND 服務正在執行。
  2. 阿帕奇正在執行。
  3. 探勘@192.168.1.2 example.com - 顯示預期結果。
  4. 將我的主 DNS 更改為 192.168.1.2
  5. 不使用任何代理。一切都在同一個盒子里工作。瀏覽器、DNS 和 Apache。

如何使本地 example.com 工作?

更新:我試過 -nslookup example.com得到以下回應 -

;; Got recursion not available from 192.168.1.2, trying next server
Server:         4.2.2.2
Address:        4.2.2.2#53

Non-authoritative answer:
Name:   example.com
Address: 208.77.188.166

對於 nslookup 192.168.1.2 我得到了 -

;; Got recursion not available from 192.168.1.2, trying next server
;; Got recursion not available from 192.168.1.2, trying next server
Server:         4.2.2.2
Address:        4.2.2.2#53

** server can't find 2.1.168.192.in-addr.arpa.: NXDOMAIN

因為Dig example.com,我得到了——

; <<>> DiG 9.6.1 <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 494
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;example.com.                   IN      A

;; AUTHORITY SECTION:
example.com.            3600    IN      SOA     ns1.example.com. ns2.example.com. 1 10800 3600 604800 3600

;; Query time: 15 msec
;; SERVER: 192.168.1.2#53(192.168.1.2)
;; WHEN: Sat Jul 04 17:05:05 2009
;; MSG SIZE  rcvd: 73

您的網路瀏覽器是否有可能使用一些代理而不是直接網際網路連接?

可能不是——但仍然值得一問。

當您在使用網路瀏覽器的電腦上啟動它時,您的 windows **nslookup會說什麼?**它是否說 192.168.1.2 是唯一的 dns 伺服器?當您輸入 example.com 作為查詢時會發生什麼?

$$ edit: i’m blind.. this one should fix the problem $$ 添加

@ IN A 91.206.245.2
www IN A 91.206.245.2

到您的綁定區域文件,更改序列號並重新載入綁定。

您剛剛安裝和配置的 DNS 伺服器 (BIND) 是權威名稱伺服器。這很好,但您不能將它用作遞歸名稱伺服器,這是您在“將我的主 DNS 更改為 192.168.1.2”時所做的。因此,nslookup 的尖叫聲“從 192.168.1.2 獲得遞歸不可用,嘗試下一個伺服器”。

權威名稱伺服器是……對某些域(此處為 )具有權威性,但example.com不是通用解析伺服器。為此,您需要一個遞歸名稱伺服器。

兩種解決方案:

  1. 使您的 BIND 名稱伺服器為您的本地機器遞歸。(基本上,這意味著recursion yes;視圖中添加一個,或者確保您的 BIND 僅偵聽本地 IP 地址。)請注意,讓名稱伺服器既具有遞歸性又具有權威性是不好的做法,但是對於僅用於個人電腦的測試,沒什麼大不了的。
  2. 告訴正常遞歸它必須example.com為您的機器轉發請求。我不能說更多,這取決於誰管理它,它執行什麼軟體等。

引用自:https://serverfault.com/questions/35829