Разработка 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.

Буду премного благодарен за обратную связь и замечания по работе текущего мини-приложения.

1
2 комментария