我正面临Google云端存储的一些非常奇怪的错误。
我上传了一个1MB的零填充文件到一个桶,每当我用http下载,我得到一个不同的文件(不同的内容,不同的MD5,相同的大小)比如果我用https下载它(这使我正确的文件)。
真正的MD5是: b6d81b360a5672d80c27430f39153e2c
例子:(你可以在家里试试)
wget http://storage.googleapis.com/weirdbug/test1m.test md5 test1m.test // MD5 (test1m.test) = 0575922c3eda2ae6fb2865cc136f65ee rm test1m.test wget https://storage.googleapis.com/weirdbug/test1m.test md5 test1m.test // MD5 (test1m.test) = b6d81b360a5672d80c27430f39153e2c
我想相信我在我这边做错了什么,但我似乎无法弄清楚。
有任何想法吗? 我认为GCE存储应该同时处理HTTP和HTTPS。
一个完全由零字节组成的mebibyte文件的正确的MD5总和是b6d81b360a5672d80c27430f39153e2c(你看到的是HTTPS),所以你的HTTP wget有一些东西。 我想知道如果也许你有一个代理或什么是插入垃圾到您的回应,这不会发生您的HTTPS请求。
这是我看到,当我尝试这个:
$> dd if=/dev/zero of=/tmp/test1m.test bs=1024 count=1024 1024+0 records in 1024+0 records out 1048576 bytes (1.0 MB) copied, 0.00866687 s, 121 MB/s $> md5sum /tmp/test1m.test b6d81b360a5672d80c27430f39153e2c /tmp/test1m.test $> gsutil cp -a public-read /tmp/test1m.test gs://special-test/ Copying file:///tmp/test1m.test [Content-Type=application/octet-stream]... Uploading gs://special-test/test1m.test: 1 MiB/1 MiB $> wget http://storage.googleapis.com/yarbrough-test/test1m.test $> md5sum test1m.test b6d81b360a5672d80c27430f39153e2c test1m.test