Задать вопрос
  • Почему после оформления сертификата подключение к сайту не безопасное?

    karabanov
    @karabanov
    Системный администратор
    Сертификат для www.lisky.site, а не для lisky.site

    Выпусти новый сертификат который будет валиден для обоих доменов.
    Ответ написан
    Комментировать
  • Как отредактировать конфиги контейнеров docker?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    3. Отредактировать Dockerfile и пересобрать образ.
    Ответ написан
    6 комментариев
  • Как получить доступ из docker контейнера к mysql на localhost?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    Дело в том, что у каждого контейнера внутри свой loopback интерфейс с IP 127.0.0.1

    Есть два пути, чтобы добиться желаемого.

    Первый, убрать изоляцию с сети (network_mode: host), тогда всё просто заработает, но так делать не надо потому что на проде тебе никто не позволит так делать.

    Второй, надо заставить MySQL слушать либо на 0.0.0.0 (то есть на всех интерфейсах) и подключаться к ней из контейнера по IP шлюза (его можно посмотреть в выводе docker inspect <container_name>), либо заставить MySQL слушать именно на одном IP который является шлюзом для контейнера.
    Ответ написан
    2 комментария
  • IP адреса Digital Ocean в бане?

    karabanov
    @karabanov
    Системный администратор
    Проверь числится ли твой IP в списке заблокированных на сайте РКН.
    Ответ написан
  • Как установить Python 3.9.6 на Ubuntu 20.04 LTS?

    karabanov
    @karabanov Куратор тега Linux
    Системный администратор
    Используй Pyenv (не забудь накатить библиотеки)
    Ответ написан
    Комментировать
  • Как перенести и запустить Docker образы на автономной машине?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    docker save --output elasticsearch.tar <image_id>

    docker load --input elasticsearch.tar
    Ответ написан
  • Как получить доступ ко второму роутеру при подключении по vpn к первому?

    karabanov
    @karabanov
    Системный администратор
    Есть ещё RoMON и вот тут ещёнемного
    Ответ написан
    Комментировать
  • Json не проходит валидацию?

    karabanov
    @karabanov
    Системный администратор
    Перевод строки убери на шестой строке.

    Валидный JSON
    {
      "id": 104,
      "name": "Астрал",
      "description": "Джош и Рене переезжают с детьми в новый дом, но не успевают толком распаковать вещи, как начинаются странные события. Необъяснимо перемещаются предметы, в детской звучат странные звуки… Но настоящий кошмар начинается для родителей, когда их десятилетний сын Далтон впадает в кому. Все усилия врачей в больнице помочь мальчику безуспешны. Несколько месяцев спустя его возвращают домой, где за несчастным ребенком ухаживают мать и сиделка. Но загадочные явления в доме продолжаются. Отчаявшиеся родители готовы обратиться за помощью к кому угодно, и вскоре выясняется, что Далтон в бессознательном состоянии связан с паранормальным миром.",
      "type": "video",
      "genres": [
        5008624
      ],
      "groups": [
        5001276
      ],
      "countries": [
        5014825
      ],
      "rubrics": [
        5001290
      ],
      "providers": [
        {
          "providerId": 5000282,
          "contentId": "8740126",
          "assets": [
            {
              "id": 21532251,
              "assetFileName": "http://185.5.42.49/hls/VOD/smartlabs/variant.m3u8",
              "playUrl": "http://185.5.42.49/hls/VOD/smartlabs/variant.m3u8",
              "protocolId": 5000210,
              "isCrypted": 0,
              "drmId": 0
            }
          ]
        }
      ],
      "awards": [],
      "originalName": "Астрал",
      "year": "2010",
      "duration": 103,
      "version": 1462958775,
      "parent": 0,
      "seriesId": 0,
      "accessLevel": 2,
      "isRecommended": 0,
      "internalTrailerUrl": {
        "url": "",
        "hoster": "internal"
      },
      "images": {
        "logo": "495892",
        "screenshots": [
          "495892"
        ]
      },
      "startDate": 0,
      "endDate": 0
    }
    Ответ написан
    Комментировать
  • Вопрос про директории nginx?

    karabanov
    @karabanov
    Системный администратор
    Мейнтейнер пакета в конкретном дисрибутиве может конфгирурировать его как захочет. В Debian совместимых дистрибутивах принято /etc/nginx/sites-enabled в RedHat подобных /etc/nginx/conf.d и т. д. Ни что не мешает тебе самому переименовать директории с конфигами и расположить их где угодно.

    Рекомендую читать не гайды, а вот это nginx: документация - здесь собрана вообще вся информация касающаяся Nginx.

    PS
    Nginx с некоторыми фишками от Nginx+ можно найти здесь Angie
    Ответ написан
  • Требуется решение(fs) для линейной записи файлов на диски?

    karabanov
    @karabanov
    Системный администратор
    LVM при определённых настройках что-то похожее может изобразить.
    Ответ написан
    1 комментарий
  • Можно ли как-то отредактировать файл /etc/resolv.conf на shared хостинге?

    karabanov
    @karabanov Куратор тега Ubuntu
    Системный администратор
    На shared хостинге нет, на полноценном VPS да.

    У curl есть флаг --resolve
    curl --resolve go1.unisender.ru:443:217.77.111.4 https://go1.unisender.ru

    Для PHP, например CURLOPT_RESOLVE
    Ответ написан
    Комментировать
  • 302 редирект на yii2, откуда?

    karabanov
    @karabanov
    Системный администратор
    XDebug ответит на твой вопрос.

    PS
    В прочем если там где-то в промежутке есть Apache, то проверь нет ли .htaccess с плохим rewrite
    Ответ написан
  • Причина ошибки http://127.0.0.1:8000/api/register net::ERR_CONNECTION_REFUSED?

    karabanov
    @karabanov
    Системный администратор
    CONNECTION_REFUSED - в 99% случаев означает, что порт никто не слушает.

    в консоли выдает ошибку

    Если речь о консоли браузера, то вполне логично что на твоей машине никто не слушает порт 3000 на loopback интерфейсе.
    Ответ написан
  • Как правильно подключить rules в prometheus?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    rule_files:
    - $PWD/alert.rules.yml

    Странная конструкция надо указать полный или относительный путь - такие переменные в своём конфиге Prometheus не понимает.

    volumes:
    - $PWD/prometheus.yml:/etc/prometheus/prometheus.yml

    Плохое решение прокидывать файл, внутрь контейнера - это можно сделать один раз в момент старта контейнера и в случае если файл изменился придётся перезапускать контейнер, чтобы это снова произошло. Лучше как Volume монтировать директорию в которую поместить файл, тогда файл в контейнере тоже измениться и достаточно будет послать SIGHUP процессу, чтобы он перечитал конфиг. Переменная $PWD здесь может быть, но её надо предварительно определить, например в .env файле или в одном из семи мест, где их можно определять.

    Пример нормального подключени файла с правилами выглядит как-то так:

    prometheus.yml
    # Load and evaluate rules in this file every 'evaluation_interval' seconds.
    rule_files:
      - '/etc/prometheus/alert-rules/*'
      # - 'first.rules'
      # - 'second.rules'


    docker-compose.yml
    volumes:
      - ./prometheus:/etc/prometheus
    Ответ написан
    Комментировать
  • Почему не могу клонировать репозиторий GitLab?

    karabanov
    @karabanov
    Системный администратор
    Пользователь от имени которого производится клонирование реально не имеет прав на этот репозиторий. Если залогиниться в GitLab и попытаться перети в этот репозиторий результатом будет 404. Надо дать пользователю права, хотя бы Reporter.
    Ответ написан
    Комментировать
  • В чём может быть причина потери пакетов?

    karabanov
    @karabanov
    Системный администратор
    ICMP обрабатываются на CPU (в conrol-plane), в отличии от пользовательского трафика который обрабатывает специализированная микросхема ASIC или FPGA (data-plane). CPU в сетевых устройствах не особо производительный, а ведь ему нужно ещё и делать Routing decision, за мультикастом присматривать, на SNMP отвечать, SSH или Telnet запускать, BGP сессию держать и чтобы защитить себя от обработки лишней информации часть мусорных задач, вроде обработки ICMP type 8, он просто периодически игнорирует, отсюда и "потери". Поэтому детектировать потери глядя на вывод mtr или traceroute занятие гиблое, надо смотреть на retrnsmint для tcp, например (но у него тоже может быть своя природа, например фаирвол с лимитами)...

    Хороший способ смотреть за потерями это запускать iperf3 в UDP режиме и выгружать JSON отчёт в котором написано чего и сколько потерялось.
    Ответ написан
  • Как пробросить порт Cent OS 7?

    karabanov
    @karabanov
    Системный администратор
    Выведи все правила iptbles -S -t nat и iptbles -S посмотри куда добавилось твоё правило и подними его повыше если оно оказалось после правила которое обрабатывает такие пакеты раньше.

    Убедись, что forwarding включен, а так же, что в цепочке FORWARD таблицы Filter нет запрещающих правил для таких пакетов.

    И не стоит вот так руками добавлять правила если не знаешь, что делаешь - лучше найди в /etc конфиг, впиши своё правило туда.
    Ответ написан
    Комментировать
  • Что можно делать с помощью Docker?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    Docker это набор сервисов и утилит созданных для удобного управления встроенными в ядро Linux технологиями Namespace (для изоляции процессов) и CGroups (для управления ресурсами).

    По мимо Docker существует ряд инструментов призванных делать тоже самое Systemd-Nspawn, LXC, Podman, etc - все они работают похожим образом и точно так же изолируют Linux-овые процессы. Docker самый распространённый и популярный из-за стандартизации процесса сборки образа и удобных утилит для управления жизненным циклом контейнера, Docker это как libc - только в разрезе контейнеров.

    Контейнер можно запустить не имея ни одного из этих инструментов с помощью утилиты unshare - она позволяет точно также управлять Namespac-ами (управлять ресурсами придётся вручную добавив процесс в CGroups).

    Контейнер это изолированный Linux процесс - соответственно запустить получиться только Linux-овый софт и больше ничего. Контейнер это не маленькая виртуальная машина, контейнер это не Java для всего. Конетейнер это только средство запустить Linux-овый процесс в изолированной среде (и, возможно, ограничить его по ресурсам), например запустить приложение требующее наличия в системе конкретных зависимостей, но отсутствующих по факту. Или запустить в целях разработки конкретную версию PHP, Python, Ruby, etc при этом избежав конфликта зависимостей и Dependency hell из-за несовместимых библиотек на хостовой машине.

    Представь себе ситуацию, когда ядро Linux загрузилось и запустило только один (какой угодно) процесс, присвоив ему PID 1 - вот так контейнер выглядит изнутри.

    PS
    Есть конетйнеры на Windows Core они запустятся только на Windows и служат для изоляции только Windows софта и для них есть набор утилит, которые распространяются в виде набора бинарных файлов тоже, почему-то, под именемем Docker (не путать с Docker-Desktop, так как Docker-Desktop - это набор сервисов позволяющих виртуализировать ядро Linux и тем самым получить возможность запустить Linux процессы на Windows или MacOS).
    Ответ написан
    Комментировать
  • Почему не грузятся метрики из Prometheus в Grafana?

    karabanov
    @karabanov
    Системный администратор
    В настройках Grafana указан адрес Prometheus 172.27.0.2, а на самом деле у Prometheus 172.27.0.6
    В любом случае указывать IP адреса так себе затея - выигрышная стратегия всегда указывать имена, вон для node-exporter имя указано и это хорошо.
    Ответ написан