Расскажу одну интересную историю, которая приключилась не так давно.
Разбирался пару часов, наверное, пока не нашел, в чем же дело.
Под Vagrant'ом была VirtualBox c Убунтой внутри. На которой веб-сервером был Nginx.
В Windows стоял OpenServer, в котором запускался Apache под то же самое.
Теперь самое интересное. Дока по Telegram API советует скрывать URL веб-хука, используя для этого выданный токен (никому, кроме пользователя API, неизвестный). То есть, строить URL как-то так:
Сама строка токена где-то в середине содержит символ двоеточия (:).
Так вот. Так как в Windows символ ':' является значимым для файловой системы, любые URLы, его содержащие, в целях безопасности блокируются апачем под Windows. Нашел интересный тред в буржунете, где люди предлагали даже сделать какой-то флаг при запуска апача, чтобы можно было выключить эту функциональность под свою ответственность, но что-то там дело так и не сдвинулось, как я понял.
Ну а под другие оси Apache таких ограничений не имеет, если я правильно понял.
В общем, весьма интересная ситуация, знание о которой иногда может быть полезным )
Изучаю написание ботов в Telegram. В Telegram API можно выставить webhook, который будет дергаться при поступлении событий с серверов Telegram. На одной машине стоит Vagrant и под ним все нормально работает. То есть, моя серверная часть успешно получает события от Telegram. На другой - LAMP под Windows. И на ней, соответственно, все то же самое уже не работает. То есть, ровно тот же самый код.
Разбирался пару часов, наверное, пока не нашел, в чем же дело.
Под Vagrant'ом была VirtualBox c Убунтой внутри. На которой веб-сервером был Nginx.
В Windows стоял OpenServer, в котором запускался Apache под то же самое.
Теперь самое интересное. Дока по Telegram API советует скрывать URL веб-хука, используя для этого выданный токен (никому, кроме пользователя API, неизвестный). То есть, строить URL как-то так:
https://www.example.com/[token]
Сама строка токена где-то в середине содержит символ двоеточия (:).
Так вот. Так как в Windows символ ':' является значимым для файловой системы, любые URLы, его содержащие, в целях безопасности блокируются апачем под Windows. Нашел интересный тред в буржунете, где люди предлагали даже сделать какой-то флаг при запуска апача, чтобы можно было выключить эту функциональность под свою ответственность, но что-то там дело так и не сдвинулось, как я понял.
Ну а под другие оси Apache таких ограничений не имеет, если я правильно понял.
В общем, весьма интересная ситуация, знание о которой иногда может быть полезным )
Комментариев нет:
Отправить комментарий