Я сталкиваюсь с некоторой действительно странной ошибкой с устройством хранения данных Google Cloud.
Я загрузил заполненный нулями файл на 1 МБ на блок, и каждый раз, когда я загружаю его 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.
Правильная сумма 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