В следующей своей статье я напишу о том, как собрать сервер на малине, но сначала я хотел особо отметить, как мы можем получить доступ к функциям, которые будут у этого сервера из-за пределов нашей локальной сети.
Для этого часто открываются порты нашей локальной сети, что относительно просто (если только компания, предоставляющая вам интернет, не дает вам доступ, как в моем случае).
Плохая сторона этого решения заключается в том, что мы уязвимы для внешней атаки.
В качестве альтернативы привожу не идеальное решение и не для тех, кто хочет запустить сервер в производство, а для личного использования, со своей стороны я использую его для доступа к некоторым функциям нескольких микросервисов, которые я смонтировал в Flask внутри Малина.
Нгрок
Этот отличный инструмент позволяет нам создать мост между внешней сетью и нашей локальной сетью всего за несколько шагов.
Чтобы реализовать это, все, что нам нужно сделать, это перейти по ссылке, которую я оставляю ниже.
Необходимо создать учетную запись и перейти в раздел «загрузки», выбрать в зависимости от установленной у вас ОС, в моем случае Linux.
После загрузки в папку, где у вас есть файл, используйте следующую команду
sudo tar xvzf ~/Downloads/ngrok-v3-stable-linux-amd64.tgz -C /usr/local/bin
Завершив установку в Интернете, в разделе «Ваш токен авторизации» им будет дана команда, которая используется для того, чтобы при выполнении был установлен токен аутентификации.
И это все настройки, необходимые для начала его использования.
В качестве примера, предположив, что у нас есть микросервис с Django, работающим на порту 5000, в отдельном терминале мы запускаем следующую команду.
Ngrok http 8000
Что это сделает, так это оставит нас в терминале с запущенным ngrok со ссылкой, подобной этой https://2dv4-181-245-0-131.sa.ngrok.io/», куда, если мы нажмем, она отправит нас на такой сайт.
В котором при нажатии на «Посетить сайт» он направит нас к конечной точке нашего микросервиса, размещенного на порту 8000.
Затем через разные http-запросы мы можем использовать наши функции с той разницей, что вместо использования localhost:8000/funcion мы будем использовать ссылку из ngrok/function.
Запустить в фоновом режиме
Если мы не хотим, чтобы служба Ngrok работала в терминале и, следовательно, не могла ее использовать, мы можем использовать эту команду.
ngrok http 5000 --log=stdout > ngrok.log &
Порт 5000, но вы можете указать все, что хотите, и что он делает, так это то, что служба работает в фоновом режиме, а журналы хранятся в файле с именем ngrok.log, в котором с помощью «cat ngrok.log» мы можем видеть журналы, среди которых ссылка на доступ, в дополнение ко всем запросам, которые получены.
Моя сеть