Загрузка и раздача статических файлов#
Вы можете загружать и раздавать статические файлы в Angie ADC с помощью HTTP-запросов через REST API.
REST API предоставляет конечную точку (POST /file/static
), через которую
можно загружать файлы. При загрузке файлов через REST API их путь указывается относительно статической директории.
Это позволяет автоматизировать процесс и легко управлять статическими ресурсами, которые должен раздавать Angie ADC.
Поддерживается:
загрузка нескольких файлов за один запрос;
возможность замены существующих файлов;
текстовые и двоичные данные (обычный текст или кодирование Base64).
Загрузка статических файлов#
Для загрузки статических файлов используйте следующий запрос:
POST /file/static HTTP/1.1
Authorization: Bearer <token>
{
"items": [
{
"filepath": "path/to/file", # расположение файла относительно статической директории (static dir), которая будет определена позднее
"content": {
"plain-text": "zone \"test.example.com.\" {\n type master\n file \"/etc/bind/master-zones/test.example.com.local.zone\"\n}\n"
},
"rewrite": true
},
{
"filepath": "path/to/file", # расположение файла относительно статической директории (static dir), которая будет определена позднее
"content": {
"plain-text": "zone \"test.example.com.\" {\n type master\n file \"/etc/bind/master-zones/test.example.com.local.zone\"\n}\n"
},
"rewrite": false
}
]
}
После успешной обработки файлы загрузятся в static dir
в указанное относительное расположение (filepath
).
API вернет абсолютные пути к загруженным файлам в HTTP Response Body
:
{
"items": [
"/path/to/file/one",
"/path/to/file/two",
"/path/to/file/three"
]
}
Важно
Все файлы загружаются вместе: если с одним из файлов возникнет ошибка, загрузка всех файлов будет отменена.
Возможные ошибки обработки:
некорректный запрос: Код состояния HTTP 400;
ошибка записи файла: Код состояния HTTP 500;
если в
static dir/filepath
уже есть соответствующий файл, а параметрrewrite
установлен вfalse
, загрузка завершится ошибкой: Код состояния HTTP 400.
Раздача статических файлов через балансировщик нагрузки#
Чтобы раздавать загруженные файлы через балансировщик нагрузки, необходимо задать location
в конфигурационном файле балансировщика нагрузки.
Откройте в браузере консоль Angie ADC.
Перейдите в
Панель мониторинга
→<Имя балансировщика>
→Конфигурация
.Откроется конфигурационный файл балансировщика нагрузки. Вы можете внести правки в текущую конфигурацию или выбрать одну из предыдущих версий, щелкнув ссылку
История
в верхней части экрана.Внесите изменения с учетом загруженных статических файлов, например:
location ~ \.(mp3|mp4) { root /static/dir/file; }
Сохраните конфигурацию, нажав кнопку
Сохранить
.Изменения будут применены сразу.
Загрузка и раздача двоичных данных#
Двоичные данные передаются в объекте content.plain-text
без преобразований.
Также можно использовать кодирование Base64. Значение base64
должно содержать закодированные данные файла.
Файлы, загруженные таким способом, также можно раздавать через балансировщик нагрузки.
Пример загрузки файла в base64
:
POST /file/static HTTP/1.1
Authorization: Bearer <token>
{
"items": [
{
"filepath": "path/to/file", # расположение файла относительно статической директории (static dir), которая будет определена позднее
"content": {
"base64": "em9uZSBcInRlc3QuZXhhbXBsZS5jb20uXCIge1xuICAgIHR5cGUgbWFzdGVyXG4gICAgZmlsZSBcIi9ldGMvYmluZC9tYXN0ZXItem9uZXMvdGVzdC5leGFtcGxlLmNvbS5sb2NhbC56b25lXCJcbn1cbg=="
},
"rewrite": true
}
]
}