Рубрика «в предыдущих сериях»:
Для правильной работы мини приложения вам необходимо будет создать бота (в интернете куча подробных инструкций, как это сделать) и настроить его для работы с мини-приложением. Вот как процедура настройки выглядела у меня.
Важная особенность, когда бот запросит указать «Web App URL» вы должны указать именно доменное имя, а не ip адрес, и обязательно через https, а не http. Как видите, в моем случае, был указан URL https://socionyx.ru/. А как быть тем, кто только что по моей шедевральной (хе-хе-хе) инструкции только-только настроил VPS и развернул на нем свое приложение, которое теперь открывается по ip адресу?
Очевидно же, получить доменное имя и ssl сертификат безопасности, для реализации https. По запросу в гугле «купить домен» у вас появится целый список сервисов, которые позволят вам осуществить данную процедуру. Мне домен socionyx.ru стоил 169 рублей на год. Теперь у вас есть домен и необходимо связать его с ip адресом VPS, на которой разворачивается ваше приложение. У меня ситуация сложилась следующая, VPS была на одном сервисе, а доменное имя я получил на другом сервисе, и чтобы их подружить, пришлось выполнить некоторые дополнительные действия. Вдаваться в технические детали не буду, так как это:
Усложнит и так не простой для понимания материал;
В зависимости от выбранных вами сервисов по предоставлению VPS и домена, шаги могут немного отличаться.
Учитывая, что я сам это делал впервые и разобрался, это определенно не «rocket science» и вы без проблем сможете справится с этой задачей.
А вот что я вам более подробно расскажу, так это настройка nginx, чтобы ваш сервис открывался по доменному имени, а не ip адресу. В файле конфигураций nginx необходимо написать следующее:
include /etc/nginx/mime.types;
default_type application/octet-stream;
Ранее в строке с «server_name socionyx.ru www.socionyx.ru; » вместо «socionyx.ru www.socionyx.ru;» был написан ip адрес вида 172.165.4.2. И все, теперь по вашему доменному имени должно открываться ваше приложение. Но стойте!!! Что это за ужас?!?!?!?!?!!?
Хром ругается, ох напасть-то какая эээээээ…
Похожая ошибка для вашего сервиса будет и в других браузерах. Надо решать проблему, настало время приобрести ssl сертификат.
Все так и работает, чесна чесна
Аналогично домену, по запросу в гугле «купить ssl сертификат» у вас также появится целый список сервисов, которые позволят вам осуществить данную процедуру. Мне сертификат достался бесплатно на 6 месяцев за приобретенный домен, да, есть у моего регистратора доменных имен такая приятная функция. На почту или в личном кабинете вам должны прийти как минимум два сертификата, вида certificate.crt и certificate.key. А дальше снова nginx и в файле конфигурации теперь все будет выглядеть примерно следующим образом.
include /etc/nginx/mime.types;
default_type application/octet-stream;
return 301 https://socionyx.ru$request_uri;
ssl_certificate /etc/nginx/certificate.crt;
ssl_certificate_key /etc/nginx/certificate.key;
return 301 https://socionyx.ru$request_uri;
ssl_certificate /etc/nginx/certificate.crt;
ssl_certificate_key /etc/nginx/certificate.key;
И все, ждете какое-то время пока все настройки придут в силу и ваше приложение теперь спокойно может открываться по https и в настройках бота можно наконец-то указать для «Web App URL» URL вашего приложения. На сегодня все, о дальнейших настройках бота для полноценного запуска вашего приложения в виде мини-приложения в telegram я напишу в следующей части.
А, ну и конечно, как я уже ранее писал, мини-приложение уже готово и ждет своих пользователей, как говорится welcome t.me/Socionyx_Bot/socionyx.
Буду премного благодарен за обратную связь и замечания по работе текущего мини-приложения.
P.S. извини меня мой дорогой nikita17cm, уж очень объемным получился уже данный пост, поэтому о «микросерверности», и разделе бота и основного бэкенда придется поведать в следующей части.