В следующей своей статье я напишу о том, как собрать сервер на малине, но сначала я хотел особо отметить, как мы можем получить доступ к функциям, которые будут у этого сервера из-за пределов нашей локальной сети.

Для этого часто открываются порты нашей локальной сети, что относительно просто (если только компания, предоставляющая вам интернет, не дает вам доступ, как в моем случае).

Плохая сторона этого решения заключается в том, что мы уязвимы для внешней атаки.

В качестве альтернативы привожу не идеальное решение и не для тех, кто хочет запустить сервер в производство, а для личного использования, со своей стороны я использую его для доступа к некоторым функциям нескольких микросервисов, которые я смонтировал в Flask внутри Малина.

Нгрок

Этот отличный инструмент позволяет нам создать мост между внешней сетью и нашей локальной сетью всего за несколько шагов.

Чтобы реализовать это, все, что нам нужно сделать, это перейти по ссылке, которую я оставляю ниже.

https://ngrok.com/

Необходимо создать учетную запись и перейти в раздел «загрузки», выбрать в зависимости от установленной у вас ОС, в моем случае 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» мы можем видеть журналы, среди которых ссылка на доступ, в дополнение ко всем запросам, которые получены.





Моя сеть