Если у вас есть сервер Nginx, этот гайд объяснит, как настроить его для передачи запросов в Baserow.
Мы настоятельно рекомендуем использовать наш образ baserow/baserow:1.33.4
или примерные
файлы docker-compose.yml
(исключая вариант .no-caddy.yml
), предоставленные в
нашем репозитории git.
Эти файлы включают предварительно настроенный, простой и легкий HTTP-сервер Caddy, который упрощает вашу жизнь следующими способами:
Если вы не хотите использовать наш встроенный Caddy-сервис за вашим Nginx, то убедитесь, что вы используете один из следующих методов развертывания:
- Собственная контейнерная среда с нашими одиночными образами
baserow/backend:1.33.4
иbaserow/web-frontend:1.33.4
.- Или наш файл примера
docker-compose.no-caddy.yml
в нашем репозитории git.Тогда вы должны использовать раздел Вариант 2: Без нашего встроенного Caddy.
Вы можете найти рабочий пример использования Nginx с Baserow в нашем репозитории git в папке deploy/nginx/recommended.
Следуйте этому варианту, если вы используете:
baserow/baserow:1.33.4
docker-compose.yml
/docker-compose.local-build.yml
/docker-compose.all-in-one.yml
Предполагается, что у вас уже запущен сервер Nginx, который вы знаете, как настроить.
Кроме того, предполагается, что вы используете операционную систему на базе Debian и уже успешно развернули Baserow.
Baserow должен знать URL, по которому он будет доступен. Предположим, что вы будете размещать Baserow на поддомене, поэтому вам следует установить следующую переменную окружения для вашего развертывания Baserow (см. Настройка Baserow для дополнительных деталей).
BASEROW_PUBLIC_URL=http://baserow.example.com
Создайте новый файл baserow.conf
в /etc/nginx/sites-available/
со следующим содержимым:
Убедитесь, что вы заменили все ссылки на
http://localhost:PORT
на правильные для вашего конкретного развертывания Baserow.
server {
server_name baserow.example.com;
# Обновление запросов через веб-сокеты и маршрутизация API-бэкенда
location ~ ^/(api|ws)/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://localhost:8080;
}
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_pass http://localhost:8080;
}
}
Наконец, вы должны включить ваш новый сайт Baserow и перезапустить сервер Baserow, если вы изменяли переменные окружения.
sudo ln -s /etc/nginx/sites-available/baserow.conf /etc/nginx/sites-enabled/baserow.conf
sudo systemctl reload nginx
Теперь вы должны иметь возможность получить доступ к Baserow на вашем настроенном поддомене.
Вы можете найти рабочий пример использования Nginx с Baserow в нашем репозитории git в папке deploy/nginx/no-caddy.
Следуйте этому варианту, если вы используете:
baserow/backend:1.33.4
и baserow/web-frontend:1.33.4
с
собственным контейнерным оркестратором.docker-compose.no-caddy.yml
в корне нашего
репозитория git.Предполагается, что у вас уже запущен сервер Nginx, который вы знаете, как настроить.
Кроме того, предполагается, что вы используете операционную систему на базе Debian и уже успешно развернули Baserow. Если вы используете другую среду, общие шаги и конфигурация Nginx все равно могут быть полезным отправным пунктом для вас, но вам может потребоваться выполнить другие команды.
Вы должны убедиться, что пользовательские загруженные файлы доступны в папке для обслуживания Nginx. В остальной части гайда мы будем использовать пример папки /var/web
для этой цели.
Если вы используете образ baserow/backend:1.33.4
, то вы можете сделать это, добавив
-v /var/web:/baserow/data/media
к обычной команде docker run
, используемой для запуска бэкенда Baserow.
Если вы вместо этого используете docker-compose.no-caddy.yml
, то вы можете изменить все монтирования
- media:/baserow/media
на - /var/web:/baserow/media
.
Baserow должен знать URL, по которому он будет доступен. Предположим, что вы будете размещать Baserow на поддомене, поэтому вам следует установить следующую переменную окружения для вашего развертывания Baserow (см. Настройка Baserow для дополнительных деталей).
BASEROW_PUBLIC_URL=http://baserow.example.com
Создайте новый файл baserow.conf
в /etc/nginx/sites-enabled/
со следующим содержимым:
Убедитесь, что вы заменили все ссылки на
http://localhost:PORT
на правильные для вашего конкретного развертывания Baserow.
server {
server_name baserow.example.com;
# Обновление запросов через веб-сокеты и маршрутизация API-бэкенда
location ~ ^/(api|ws)/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://localhost:8000;
}
location /media/ {
if ($arg_dl) {
add_header Content-disposition "attachment; filename=$arg_dl";
}
# TODO Измените на расположение вашей папки медиа!
alias /var/www/;
}
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_pass http://localhost:3000;
}
}
Наконец, вы должны включить ваш новый сайт Baserow и перезапустить сервер Baserow, если вы изменяли переменные окружения.
sudo ln -s /etc/nginx/sites-available/baserow.conf /etc/nginx/sites-enabled/baserow.conf
sudo systemctl reload nginx
Теперь вы должны иметь возможность получить доступ к Baserow на вашем настроенном поддомене.
Если вы можете загружать изображения в Baserow, но миниатюры не отображаются, или вы не можете повторно скачать их (получаете ошибки 403 при доступе к файлам), то:
/var/web
установлены так, чтобы они были читаемыми пользователем Nginx, выполнив команду cd /var/web && chmod 755 *
./var/web
, чтобы они были читаемыми пользователем Nginx.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )