Closed denchru closed 3 years ago
Здравствуйте!
А если в Redmine ответить в задачу, то приходят ли сообщения в Telegram и есть ли при этом вообще какие-либо записи в логах бота?
И ещё покажите, пожалуйста, вывод команды:
openssl s_client -connect YOUR_BOT_IP:YOUR_BOT_PORT -tlsextdebug 2>/dev/null | openssl x509 -noout -dates 2>/dev/null
Есть подозрение, что у Вас истёк SSL-сертификат.
действительно так и было, истек сертификат, сгенерировал новый:
[15.04.2018 14:47:05.999944] (2521) INFO: [nxs-chat-srv]: set webhook to tlgrm: success (result: true, error code: 200, description: "Webhook was set", using silf-signed certificate: true)
в логах ошибок нет.
А если в Redmine ответить в задачу, то приходят ли сообщения в Telegram Да, приходят,
Единственные странные записи в логах
[15.04.2018 15:08:20.082648] (26925) DEBUG: [queue-worker]: db last issues put: success (tlgrm userid: 455384214, rdmn last issue id: 99) [15.04.2018 15:08:20.082973] (26925) DEBUG: [queue-worker]: labels warn: can't find label text for specified key (label key: Нормальный, specified lang: ru, default lang: ru) [15.04.2018 15:08:20.082989] (26925) DEBUG: [queue-worker]: labels warn: can't find label text for specified key (label key: Новая, specified lang: ru, default lang: ru)
Добрый день!
в логах ошибок нет.
Это корректное поведение, ошибок и не будет. Поскольку сертификат не валидный - клиент (в данном случае Телеграм), не устанавливает соединение с ботом (сервром). Т.е. бот просто не может зафиксировать такие подключения.
А если в Redmine ответить в задачу, то приходят ли сообщения в Telegram Да, приходят,
Это, видимо, по тому, что у Вас в настройках плагина Redmine стоит галочка Отключить верификацию SSL
. По этому Redmine будет работать с ботом даже если у того не валидные сертрификаты. Но это не очень безопасно, по этому использовать эту опцию не рекомендуется.
Единственные странные записи в логах
[15.04.2018 15:08:20.082648] (26925) DEBUG: [queue-worker]: db last issues put: success (tlgrm userid: 455384214, rdmn last issue id: 99) [15.04.2018 15:08:20.082973] (26925) DEBUG: [queue-worker]: labels warn: can't find label text for specified key (label key: Нормальный, specified lang: ru, default lang: ru) [15.04.2018 15:08:20.082989] (26925) DEBUG: [queue-worker]: labels warn: can't find label text for specified key (label key: Новая, specified lang: ru, default lang: ru)
Это нормальная запись.
Для поддержки ботом мультиязычности - он для всех служебных слов из Redmine (я говорю про такие, как названия трекеров, статусов и прочее) пытается найти соответствие (перевод) в соответствующем языковом файле в директории, указанной в опции labels.labels_path
. Т.е. так он может переводить сообщения, отправляемые в Telegram на английский язык, имея русский интерфейс Redmine. А т.к. не все служебные слова Redmine указаны в этих файлах - выдются подобные сообщения и чтобы не отвлекать внимание - они идут с уровнем debug.
Скажите, пожалуйста, по данной задаче у Вас ещё остались какие-либо вопросы?
хм, сертификат уже новый, но все по прежнему. Попробую проверить все ли корректно.
А Вы используете доверенный SSL-сертификат или самоподписанный?
Если самоподписанный, то после создания нового сертификата необходимо запустить бота в режиме инициализации с указанной опцией set_webhook_self_signed_certificate
. Т.е.:
nxs-chat-srv -i set_webhook_self_signed_certificate
. Это позволит отправить в Telegram новый сертификат (требуется, в случае использования самоподписанных SSL).
Если доверенный, то попробуйте проверить валидность сертификата, обратившись к боту из браузера. Т.е. по тому значению, что указано в опции telegram.webhook_host
(только проследите, чтобы обращение произошло к тому же узлу, к которому обращается Telegram).
Будет ли ругаться браузер на сертификат?
Да, самоподписный. И проблема была в том, что я криво его сгенерировал. Но в тоже время ПО не ругалось на него.
Тикет можно закрывать.
запросы через API работают, сообщения приходят через бот
https://api.telegram.org/botXXX:XXX/sendMessage?chat_id=455384214^XXX
запрос curl -k -H "X-Redmine-API-Key: YOUR_REDMINE_API_KEY" "https://YOUR_REDMINE_HOST/projects.json?limit=100&offset=0"
тоже отрабатывает.
Однако если обращаться к боту , то ответа нет, в логах запросы какие либо отсутствуют