我知道 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 有所不同!
自从主机名解决为新知识产权,它怎么会有旧服务器的输出呢?
完全困惑了。
编辑:更加令人困惑的是:
$ 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 上。
为了避免此类问题,我禁用了所有形式的缓存。奇怪的是,当我重新启用它们时,我看到了新内容。非常非常奇怪。
答案1
我无法评论,所以我必须回答。
两件事:
如果您使用虚拟主机,那么您需要在主机名上执行 HTTP 请求,否则您将获得默认虚拟主机(通常是第一个定义)的内容,而不是您想要的虚拟主机。
在 wget 的输出中,通过主机名的连接显示了真实的长度(即服务器返回 HTTP Content-Length 标头),而其他两个响应显示“未指定”。
哦,还有第三件事:您可以使用wget -S
并告诉我们服务器的响应吗?
答案2
抱歉,大家。看来问题出在 WordPress 上。
为了避免此类问题,我禁用了所有形式的缓存。奇怪的是,当我重新启用它们时,我看到了新内容。非常非常奇怪。