Арендовал домен, зарегистрировал, настроил днс и тд. Получил ssl при помощи letsencrypt. Запускаю на сервере тг бота на вебхуках и не понимаю как мне настроить nginx, так что бы он направлял запросы с моего домена на какой то локальный айпишник того же сервера, например 127.0.0.1:8080, для прослушки телеграмом.
latush,
бот отправляет запросы по адресу https://DOMAIN/TOKEN
пробовал менять
location /
на
location /TOKEN
, тоже не помогло, сам перехожу по этому адресу
502 Bad Gateway
TheFlappy, похоже, что со стороны контейнера проблем нет. порт tcp/1080 хоста сопоставлен с портом tcp/1080 контейнера, и обращение с хоста не выдаёт ошибки об отказе в соединении, следовательно можно полагать, что внутри контейнера порт действительное слушается приложением.
другое дело, что я не понимаю, какой конфиг nginx у вас сейчас актуальный. сначала вы запостили proxy_pass http://localhost:8080/;
затем proxy_pass https://localhost:8080;
затем последнее удалили. так что на самом деле? если первое - удалите первым делом слеш перед точкой с запятой, поскольку он вряд ли вам нужен. у этого слеша есть смысл - он меняет любой УРЛ из запроса, пришедшего в nginx в location / перед передачей в контейнер на /.
TheFlappy, тогда советую убедиться, что приложение, то, что в контейнере, действительно принимает соединения по HTTPS.
что говорит curl -ik https://localhost:8080/
?
нет, SSL (HTTPS) на localhost:8080 (а значит и в докере на tcp/8080) нет. меняйте proxy_pass https://localhost:8080;
на proxy_pass http://localhost:8080;
в конфиге nginx, не забудьте перезапустить nginx.
ошибка ушла или сохраняется? та же самая 502 или другая?
TheFlappy, да, значит: ссылка на доку Если директива proxy_pass указана с URI, то при передаче запроса серверу часть нормализованного URI запроса, соответствующая location, заменяется на URI, указанный в директиве: