Для этого нам понадобится любая VPS и доступ к ней по SSH. Главное, чтобы с неё ничего не блокировалось. Ставим туда локальную прокси privoxy:
# apt install privoxyБольше можно ничего не настраивать. Нам подойдут настройки по умолчанию. Прокси сама запустится на локальном интерфейсе 127.0.0.1:8118. Можно тут её оставить на постоянную работу.
Теперь идём на сервер, куда мы хотим установить elasticsearch. Если мы просто попытаемся скачать пакет, у нас ничего не выйдет:
# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.13.2-amd64.debHTTP request sent, awaiting response... 403 ForbiddenДоступ заблокирован. Подключимся по SSH к серверу с privoxy и пробросим её порт 8118 локально на машину на порт 3128:
# ssh -L 3128:localhost:8118 root@1.2.3.4Проверяем, что порт проброшен:
# ss -tulnp | grep 3128tcp LISTEN 0 128 127.0.0.1:3128 0.0.0.0:* users:(("ssh",pid=1350,fd=5))Теперь сделаем так, чтобы wget работал через прокси. Для этого рисуем конфиг
~/.wgetrc:use_proxy=yeshttp_proxy=127.0.0.1:3128https_proxy=127.0.0.1:3128И снова скачиваем пакет. Теперь он успешно загрузится, можно устанавливать.
Если хочется запустить elasticsearch в докере из официального образа, то подключаем прокси докеру. Для этого передаём ему переменные через systemd. Все возможные варианты настройки прокси в докере описаны в документации.
# mkdir -p /etc/systemd/system/docker.service.d# mcedit /etc/systemd/system/docker.service.d/http-proxy.conf[Service]Environment="HTTP_PROXY=http://127.0.0.1:3128"Environment="HTTPS_PROXY=http://127.0.0.1:3128" # systemctl daemon-reload # systemctl restart dockerОбращаю внимание, что в качестве HTTPS_PROXY я передаю http подключение. Это важно. Privoxy не настроен на работу по https, а Docker хочет именно по https забирать образы. Проверим, что переменные объявлены:
# systemctl show --property=Environment dockerEnvironment=HTTP_PROXY=http://127.0.0.1:3128 HTTPS_PROXY=http://127.0.0.1:3128Теперь можно забрать образ последней версии и запустить его:
# docker pull docker.elastic.co/elasticsearch/elasticsearch:8.13.2# docker run -d -e "discovery.type=single-node" \ -p 9200:9200 \ -p 9300:9300 \ docker.elastic.co/elasticsearch/elasticsearch:8.13.2После того, как всё скачано и запущено, настройки прокси можно отключить.
Такой простой и быстрый метод с использованием своего прокси. Не надо искать сторонние репозитории или настраивать свои. Не надо подключать VPN и что-то ставить дополнительно на исходный сервер. Забрали всё с репозитория разработчиков, сделав минимум движений на сервере, куда всё устанавливали.
#elk #ssh #docker