• PHP Fatal error при переключении хоста с PHP 7.2 на PHP 8.1, как исправить?

    akelsey
    @akelsey
    С php не работаю, но вроде как согласно ошибке:
    $url{0} -> $url[0]
    должно помочь. пробуйте
    Ответ написан
  • Как разрешить docker elastic внешнее подключение?

    akelsey
    @akelsey
    Опция
    -p 9200:9200
    уже декларирует о том что ваш хост слушает порт 9200 и пробрасывает его внутрь контейнера.

    а ошибка
    curl: (77) error setting certificate verify locations:

    говорит о недоверенном сертификате, в вашем случае решить можно добавив параметр "-k" в курл запрос.
    либо путь до сертификата который вы предоставляете в curl не найден, в приведенной ссылке написано:
    using the http_ca.crt file that you copied from your Docker container

    т.е. предварительно вы этот сертификат должны скопировать с докер контейнера на хостовую машину.

    PS
    Разрешать уже ничего не нужно, сервис уже доступен по адресу "https://server_ip:9200"
    Ответ написан
  • Почему не могу получить логи с нескольких подов с одной меткой?

    akelsey
    @akelsey
    Хитрости нет никакой, синтаксис правильный.
    Можно добавить -f чтоб он ждал вывода.
    Может метки разные на подах?
    Ответ написан
  • Плохой ответ от запроса токена при аутентификации через GitLab?

    akelsey
    @akelsey
    Было у меня такое, проблема была в header "proxy_set_header X-Forwarded-Proto $scheme;" - т.к. было опубликовано через ингресс (nginx). Маттермост с какой то версии (вероятно с мажорной 7ой) обязательно требует "правильную" схему, и при том только при аутентификации. Потом куку прописывает и можно год заходить с "поломанной" схемой.
    PS
    Ну и звонки у вас работать не будут судя по логам. Вообще логи бы правильно оформлять, тегами code. Хотя бы смотреть приятнее, читабельнее.
    Ответ написан
    Комментировать
  • Как в EC2 программно (на PHP) добавить сертификат в балансировщик нагрузки?

    akelsey
    @akelsey
    Читать документацию и пробовать, пробовать, пробовать...
    Ответ написан
    Комментировать
  • Как посчитать количество месяцев между датами в Excel?

    akelsey
    @akelsey
    Сделать СЦЕПИТЬ (CONCATENATE) во временные ячейки (скрыть) и использовать РАЗНДАТ (DATEDIFF).
    PS
    Есть столбец Aи есть B - это нормальные полные же даты? Зачем нужен столбец C в этих расчетах тогда? =РАЗНДАТ(A;B;"D")
    Ответ написан
    1 комментарий
  • Как включить подсказки в VS CODE 2023?

    akelsey
    @akelsey
    Поставить какой-нибудь автокомплит для JS?
    https://marketplace.visualstudio.com/items?itemNam...
    Ответ написан
    Комментировать
  • Где можно деплоить java приложения?

    akelsey
    @akelsey
    Кратко везде где можно купить VPS, поставить Docker и использовать Gitlab CI (or Github Actions) но требуется настройка инфраструктуры.
    Если облака, то можно яндекс, но при использовании контейнеризации - потребуется использовать Kubernetes - сервисов аналогов AWS ECS я у них не видел.
    Ответ написан
  • Как проверить работу VPN внутри страны?

    akelsey
    @akelsey
    Непонятно,
    Если сайты работают только с айпи адреса РБ то просто зайти на сайт без VPN и с VPN, подозреваю в первом случае работать не будет.
    Можно воспользоваться сервисами вроде https://2ip.ru он вам покажет вашу локацию и угадает страну, т.е. как вы выглядите для сервера.
    PS
    Ещё раз перечитал, понял, вы в РБ и зачем то хотите впн с адресом РБ и сомневаетесь не выехав из страны, будет ли он работаеть. Тогда так же как и написал - подключаете ВПН - смотрите на 2ип что адрес новый, от провайдера в сети ВПН и если сайт открывается - значит впн вам подходит, когда вы покинете РБ.
    Ответ написан
    Комментировать
  • Как составить регулярное выражение?

    akelsey
    @akelsey
    сплит по пробелу, в цикле знаки препинания заменить на "" (ничто).
    или даже наоборот сначала заменить все знаки препинания на "" (ничто) - а "-" на пробел, и уже потом сплит.
    Ответ написан
    Комментировать
  • Как скачать и импортировать свой пакет в golang?

    akelsey
    @akelsey
    Вынес ответ из комментариев, проблема была в кэшированной либе, помогла команда:
    go get -u github.com/parseMachineReborn/in-memory-cache
    Ответ написан
    Комментировать
  • Можно ли добиться перенаправления в IIS с http на https без модуля URL-Rewrite?

    akelsey
    @akelsey
    Использовать JS? Копать в сторону location.
    Ответ написан
    Комментировать
  • Не пересылать письма с условиями?

    akelsey
    @akelsey
    Кратко, можно. Смотреть header_checks
    Например:
    /^To: (.*?)@yandex.ru$/ REDIRECT root@localhost
    Ответ написан
    3 комментария
  • Как подключиться к mongodb из другого контейнера?

    akelsey
    @akelsey
    Создать общую сеть, запустить контейнеры в этой сети:
    docker network create commonnet
    docker run --rm --name nginx1 -d --network commonnet nginx
    docker run --rm --name nginx2 -d --network commonnet nginx

    далее
    docker exec -it nginx1 bash
    apt update
    apt install iputils-ping
    ping nginx2
    PING nginx2 (10.31.3.3) 56(84) bytes of data.
    64 bytes from nginx2.testnet (10.31.3.3): icmp_seq=1 ttl=64 time=0.054 ms
    64 bytes from nginx2.testnet (10.31.3.3): icmp_seq=2 ttl=64 time=0.043 ms
    ...

    или
    curl nginx2
    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    <style>
    html { color-scheme: light dark; }
    body { width: 35em; margin: 0 auto;
    font-family: Tahoma, Verdana, Arial, sans-serif; }
    </style>
    </head>
    <body>
    <h1>Welcome to nginx!</h1>
    <p>If you see this page, the nginx web server is successfully installed and
    working. Further configuration is required.</p>
    
    <p>For online documentation and support please refer to
    <a href="http://nginx.org/">nginx.org</a>.<br/>
    Commercial support is available at
    <a href="http://nginx.com/">nginx.com</a>.</p>
    
    <p><em>Thank you for using nginx.</em></p>
    </body>
    </html>


    PS
    ну либо docker-compose как уже посоветовали...
    Ответ написан
  • Как спарсить это?

    akelsey
    @akelsey
    Тип в структуре неверный. Решение под спойлером:
    код

    package main
    
    import (
    	"encoding/json"
    	"fmt"
    )
    
    type Resp struct {
    	R struct {
    		Items []int
    	}
    }
    
    func main() {
    	response := []byte(`{"r":{"max":900,"items":[1,3,5,7,3,1,7]}}`)
    	r := Resp{}
    	json.Unmarshal(response, &r)
    	for i := range r.R.Items {
    		fmt.Println(i)
    	}
    }
    Ответ написан
    Комментировать
  • Почему сайты выводят ошибку ERR_SOCKET_NOT_CONNECTED?

    akelsey
    @akelsey
    1. Я бы начал с просмотра системного времени и синхронизировал бы его первым делом с сервером точного времени.
    2. Если первое не помогает, посмотрел бы в сторону роутера, нет ли какого хитрого правила с пробросом 443 порта, на микротиках бывает люди забывают ставить на dst-nat правило интерфейс с которого проброс делать. Отсюда появляются всякие странные похожие на вашу проблемы.
    Ответ написан
  • Как добавить synology в graylog?

    akelsey
    @akelsey
    Согласно документации Graylog умеет быть Syslog сервером, а Synology умеет отправлять логи в Remote Syslog server, осталось чуть почитать как настроить то и это, и задача будет решена.
    Ответ написан
  • Порядок действий по созданию сайту?

    akelsey
    @akelsey
    Направление верное, только не хостинг (shared hosting тут не подойдет), а VPS + domain name.
    Самый "относительно простой" способ это создать два докер контейнера с бэком (чистое приложение на чем оно у вас написано) и фронтом (например ngninx или опять же смотря на чем написано), и взять готовые контейнеры mongodb + nginx (для публикации фронта + ssl) с docker hub.
    Потом создать компоуз (docker-compose.yaml) файл и все четыре контейнера запустить в одной сети. Настроить взаимные подключения. Подключить сертификат.

    После того как это всё руками заработает и будете понимать что и как настраивается, можно будет строить пайплайны для автоматической публикации из github/gitlab, но это уже совсем другая история.

    PS
    Дев среду можно построить и на домашних ресурсах, как отладите и освоитесь - сможете реализовать и на VPS.
    Ответ написан
    4 комментария
  • Как оптимально оформить сетевой стенд для самообучения?

    akelsey
    @akelsey
    Я бы упростил,
    исключил бы сразу kind, minikube (не правильно выразился, даже бы не исключил, а комбинировал подходы), т.к. все они клёвые но у каждой есть свои недостатки (и перешёл к вагрант, кубспрей):

    kind
    Самый лучший use case: использование когда нужно что то многокластерное
    плюсы:
    - использует докер для разворачивания
    - очень быстро всё разворачивается, любое кол-во нод и кластеров
    - экстра аргументы позволяют опубликовать 80 и 443 порты
    - выживает после перезагрузки, норм работает с metallb
    минусы:
    - использует докер для разворачивания
    - отсюда невозможность управления ресурсами (т.е. ограничить ноде 2гб памяти например и посмотреть как ведет себя деплоймент)

    minikube
    Самый лучший use case: любой поддерживаемый драйвер на VM (на докере лучше кайнд)
    плюсы:
    - очевидно норм кластер, быстро поднимаемый с мультинодами
    минусы:
    - не выживает после ребута (не поднимает сервисы внутри ВМ, требуется снова делать minikube start и передеплоивать), после сейвстейт на линукс плюс Virtualbox теряет сетевые интерфейсы (ребут возвращает интерфейсы в норм стейт, но уже не поднимаются сервисы кубера-докера)

    vagrant или kubespray based
    Самый лучший use case: для всего
    плюсы:
    - железный кластер, можно шатдаунить ноды, симулировать отказы нод, лимит ресурсов.
    - можно саспендить машины, когда не требуется (в вагранте одной командой все ноды сразу)
    минусы:
    - жрет ресурсы,
    - без ссд медленно

    Есть еще варианты на голом железе, ну тут вы и сами должны понимать плюсы и минусы.
    Ответ написан
    Комментировать