Разработка telegram мини-приложения в 2025 или как я дошел до жизни такой. Часть куатро.
Штош, я только начал.
Рубрика «в предыдущих сериях»:
1) Часть первая, что и почему я решил делать
2) Часть вторая, какой инструментарий я использую и немного о разработке
3) Часть третья, разворачивание приложения на VPS и немного про докер
Для правильной работы мини приложения вам необходимо будет создать бота (в интернете куча подробных инструкций, как это сделать) и настроить его для работы с мини-приложением. Вот как процедура настройки выглядела у меня.
Очевидно же, получить доменное имя и ssl сертификат безопасности, для реализации https. По запросу в гугле «купить домен» у вас появится целый список сервисов, которые позволят вам осуществить данную процедуру. Мне домен socionyx.ru стоил 169 рублей на год. Теперь у вас есть домен и необходимо связать его с ip адресом VPS, на которой разворачивается ваше приложение. У меня ситуация сложилась следующая, VPS была на одном сервисе, а доменное имя я получил на другом сервисе, и чтобы их подружить, пришлось выполнить некоторые дополнительные действия. Вдаваться в технические детали не буду, так как это:
1) Усложнит и так не простой для понимания материал;
2) В зависимости от выбранных вами сервисов по предоставлению VPS и домена, шаги могут немного отличаться.
Учитывая, что я сам это делал впервые и разобрался, это определенно не «rocket science» и вы без проблем сможете справится с этой задачей.
А вот что я вам более подробно расскажу, так это настройка nginx, чтобы ваш сервис открывался по доменному имени, а не ip адресу. В файле конфигураций nginx необходимо написать следующее:
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server {
listen 80;
listen [::]:80;
server_name socionyx.ru www.socionyx.ru;
}
}
Ранее в строке с «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 и в файле конфигурации теперь все будет выглядеть примерно следующим образом.
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server {
listen 80;
listen [::]:80;
server_name socionyx.ru www.socionyx.ru;
location / {
return 301 https://socionyx.ru$request_uri;
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name www.socionyx.ru;
ssl_certificate /etc/nginx/certificate.crt;
ssl_certificate_key /etc/nginx/certificate.key;
return 301 https://socionyx.ru$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name socionyx.ru;
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.
Буду премного благодарен за обратную связь и замечания по работе текущего мини-приложения.