Мы сталкиваемся с критической проблемой, связанной с извлечением BLOB-объектов из БД MySQL с использованием PHP и передачей через брандмауэр. Тот же PHP-код отлично работает, когда к БД обращаются напрямую с локального хоста, минуя веб-уровень.
Для уточнения вопроса -
У нас есть большие двоичные объекты, хранящиеся в БД MySQL, которые извлекаются с использованием простого кода PHP, который отлично работает на хостинге Godaddy Shared Hosting. Недавно мы перешли на Amazon EC2 / RDS, где настроены брандмауэры, и мы заметили эту проблему, что PHP-код извлекает правильный BLOB, но ненужные данные BLOB получаются с ответом, который поступает от Apache через брандмауэры. Тот же код, когда он подключается напрямую к RDS и извлекает тот же самый BLOB, он извлекается и отображается просто отлично.
Код, который хранит большой двоичный объект в базе данных, работал раньше и теперь работает нормально, поскольку к сохраняемым изображениям можно напрямую обращаться с помощью DB Connect.
Я так запутался в этом вопросе, почему, когда большие двоичные объекты выходят через веб-сервер, часть ответа просто показывает мусор. Я попытался добавить заголовки и т. Д., И все ничего не работает, когда ответ через веб-серверы. Я не думаю, что проблема в коде PHP, который хранит и извлекает большие двоичные объекты в MySQL и из него.
Могут ли быть настройки брандмауэра или конфигурации Apache на EC2, которые могут повредить передаваемые BLOB-данные? Пожалуйста, помогите.