Dmitry
окей
Dmitrii
Просто в текущем конфиге пали наличие этого файла -f
Dmitrii
Посмотри как сделано у фанбоев рейлс.
Dmitry
if (-f /etc/nginx/maintenance.file) {
return 503;
}
Dmitry
иф?
Dmitrii
Да
Dmitry
а ничего что иф?
Dmitry
иф вроде как бед практис
Dmitrii
А ничего что у тебя балансера нет?
Dmitrii
:)
Dmitry
да както насрать на самом деле
Dmitrii
Ну вот
Dmitry
ну просто сайт реально увесистый
Sergey
тут как в анекдоте - вам шашечки или ехать
Dmitry
там людно бывает
Dmitrii
У тебя от одного ифа ничего не развалится.
Dmitry
ладно, попробую
Dmitry
спс
Sergei
иф вроде как бед практис
иф бед практис не потому что иф плохо, а потому что иф в нджинксе - крайне неинтуитивно.
Dmitrii
Один раз, сам знаешь.
Dmitry
не регексп и то ладно
Dmitry
)))
Sergey
можно выебнуться map неверное
Sergey
😂
Dmitrii
Врятли
Sergei
map не умеет проверять наличие файлов
Dmitrii
Да
Sergei
единственный способ запихать что-то ванильному нджинксу - это if.
Sergei
альтернатива - извращения с auth_request
Sergey
ну тогда один раз не мужиколожество
Dmitrii
Эй, погодите
Denis
try же есть чтобы файлик проверять
Dmitrii
Есть же еще v8 и lua
Sergei
ванильному
Denis
а из try можно уходить в именованный локейшен
Dmitrii
А, через try получится не менее неинтуитивно
Sergei
Dmitrii
В итоге у тебя первый локейшен всегда будет мейнененс
Dmitrii
о_О
Dmitrii
А фоллбек это сайт. Ну хз хз
Denis
я может пропустил что то, но задача была "проверить файлик и отдать что то другое если его нет"
Sergei
скорее
проверить файлик и отдать заглушку, если он есть.
Denis
можно в именованном локейшене хоть proxy_pass сделать
Denis
на mail.ru )
Dmitrii
Дак, все равно у тебя то место, куда все люди пишут @fallback будет @upstream
Dmitrii
Воистину через жопу ))
Dmitrii
Все наоборот
Denis
тогда проще всего if rewrite
Sergei
+
Denis
location / {
if (-f '/var/www/kibana-errpage/lock') {
rewrite / /errpage/ last;
}
proxy_pass http://localhost:5601;
}
location /errpage {
internal;
alias /var/www/kibana-errpage;
}
Denis
какая нить такая какуля)
Dmitrii
Ну да
Dmitrii
Обколются бест практисами а потом через жопу ябутся.
Denis
это все равно хорошо, люди задумываются. а не хуевертят.
Dmitrii
Кстати кавычки там не нужны вроде
Sergei
кавычек много не бывает.
Dmitrii
Вы часом не лиспер?
Dmitrii
Я думаю вам бы зашло ) Скобочек там тоже дохира.
Sergey
там же смайлики
Sergey
)
Sergei
я нет.
но потом этот конфиг пойдет как темплейт в какой-нибудь ансибл.
потом этот файл уедет в другое место.
потом в пути появится пробел.
Dmitrii
Штаа... Как в пути появится пробел я не понял
Sergei
CMDR Jack
CMDR Jack
А ОН Я
CMDR Jack
И все, пробелы в путях
CMDR Jack
У нас вот есть/был коллега, который скрипт отдал на тестирование с \r\n в строках
Leonid
\r\n в путях — вот что я люблю!
Kirill
за такое сжигать бы на кострах...
Antontsue
Denis
\r\n это control character считается и они считаются непортабельными
Denis
посикс нам говорит что так нехорошо делать
Denis
разве нет ?
🏳️ Phil
Dmitriy
Dmitriy
location / {
root /etc/nginx/html/your_site;
try_files /maintenance.html $uri @app;
}
Dmitriy
есть файлик maintenance.html - показываем заглушку, нету файлика - не показываем
Dmitry
Denis
лол