Linux

更改了DNS,本地沒有影響

  • July 26, 2012

我知道 DNS 更改可能需要幾天時間才能生效,但這讓我感到困惑,也許有人可以提供一個合理的解釋..

$ wget http://***OLDIP***/ -O oldserver.html
--2012-07-25 16:31:19--  http://***OLDIP***/
Connecting to ***OLDIP***:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `oldserver.html'

   [ <=>                                                                                                                                                                                                ] 18,359      --.-K/s   in 0.01s   

2012-07-25 16:31:20 (1.61 MB/s) - `oldserver.html' saved [18359]

$ wget http://***NEWIP***/ -O newserver.html
--2012-07-25 16:31:35--  http://***NEWIP***/
Connecting to ***NEWIP***:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `newserver.html'

   [ <=>                                                                                                                                                                                                ] 18,112      --.-K/s   in 0.01s   

2012-07-25 16:31:35 (1.27 MB/s) - `newserver.html' saved [18112]

$ wget http://***HOSTNAME***/ -O dns.html
--2012-07-25 16:31:49--  http://***HOSTNAME***/
Resolving ***HOSTNAME***... ***NEWIP***
Connecting to ***HOSTNAME***|***NEWIP***|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 18361 (18K) [text/html]
Saving to: `dns.html'

100%[===================================================================================================================================================================================================>] 18,361      --.-K/s   in 0.01s   

2012-07-25 16:31:49 (1.26 MB/s) - `dns.html' saved [18361/18361]

現在上面的內容正是我在更改 DNS 後所期望的,所以這並不奇怪,直到我告訴你 oldserver.html 和 dns.html 具有相同的輸出,而 newserver.html 不同!

既然HOSTNAME被解析為NEWIP,它到底怎麼能有舊伺服器的輸出呢?

完全糊塗了。

**編輯:**更多混亂:

$ wget http://***HOSTNAME***/ -O dns.html
--2012-07-25 17:23:45--  http://***HOSTNAME***/
Resolving ***HOSTNAME*** (***HOSTNAME***)... ***NEWIP***
Connecting to ***HOSTNAME*** (***HOSTNAME***)|***NEWIP***|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 18361 (18K) [text/html]
Saving to: `dns.html'

100%[===================================================================================================================================================================================================>] 18,361      --.-K/s   in 0s      

2012-07-25 17:23:45 (142 MB/s) - `dns.html' saved [18361/18361]

$ sudo vim /etc/hosts
$ wget http://***HOSTNAME***/ -O dns.html
--2012-07-25 17:24:53--  http://***HOSTNAME***/
Resolving ***HOSTNAME*** (***HOSTNAME***)... 127.0.0.1
Connecting to ***HOSTNAME*** (***HOSTNAME***)|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 18361 (18K) [text/html]
Saving to: `dns.html'

100%[===================================================================================================================================================================================================>] 18,361      --.-K/s   in 0s      

2012-07-25 17:24:53 (144 MB/s) - `dns.html' saved [18361/18361]

我在新伺服器上做了這個。如您所見,兩個請求都輸出 18361 字節,而正確的輸出 (newserver.html) 應輸出 18112 …

輸出 wget -S

$ wget -S http://***HOSTNAME***/ 
--2012-07-25 17:19:51--  http://***HOSTNAME***/
Resolving ***HOSTNAME***... ***NEWIP***
Connecting to ***HOSTNAME***|***NEWIP***|:80... connected.
HTTP request sent, awaiting response... 
 HTTP/1.1 200 OK
 Date: Wed, 25 Jul 2012 15:19:45 GMT
 Server: Apache/2.2.22 (Ubuntu)
 Last-Modified: Tue, 24 Jul 2012 08:13:21 GMT
 Accept-Ranges: bytes
 Content-Length: 18361
 Vary: Accept-Encoding
 Keep-Alive: timeout=5, max=100
 Connection: Keep-Alive
 Content-Type: text/html; charset=UTF-8
Length: 18361 (18K) [text/html]
Saving to: `index.html.1'

100%[===================================================================================================================================================================================================>] 18,361      --.-K/s   in 0.01s   

2012-07-25 17:19:51 (1.47 MB/s) - `index.html.1' saved [18361/18361]

這顯然是新伺服器,舊伺服器執行 CentOS。

編輯

對不起人們。看來問題出在WordPress上。

正是為了避免此類問題,我禁用了所有形式的記憶體。奇怪的是,當我重新啟用它們時,我看到了新內容。非常非常非常奇怪。

對不起人們。看來問題出在WordPress上。

正是為了避免此類問題,我禁用了所有形式的記憶體。奇怪的是,當我重新啟用它們時,我看到了新內容。非常非常非常奇怪。

我無法評論,所以我必須回答。

2件事:

  1. 如果您使用的是虛擬主機,那麼您需要對主機名進行 HTTP 請求,否則您將獲得預設虛擬主機的內容(通常是第一個定義的),而不是您所追求的虛擬主機。
  2. 在 wget 的輸出中,通過主機名的連接顯示了一個真實的長度(即伺服器返回的 HTTP Content-Length 標頭),而其他兩個響應顯示“未指定”。

哦。第三件事:你能使用wget -S並告訴我們伺服器的響應嗎?

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