Dmitrii
Т.е. в nginx вкомпилен весь рантайм?
Vladimir
Угу
Vladimir
Там особенность в том что так лучше не делать потому что луа блокирует тред
Dmitrii
Ну а как тогда сделать асинхронный запрос та...
Vladimir
Ну а как тогда сделать асинхронный запрос та...
Комбинируя то что может nginx и то что может луа
Vladimir
И вообще что ты пытаешься сделать?
Dmitrii
Прокси в S3 к приватным файлам
Dmitrii
Все что есть в интернетах, либо не рабоатет, либо оверинжиниринг.
Dmitrii
Например типа вариант №1 - компилить си модуль - сразу нахер.
Dmitrii
Вараинт №2 - скомпилить 2 других модуля - дважды нахер
Dmitrii
Мой вариант - установить через apt-get nginx-extras lua модулем и сделать все на lua.
Pavel
Можно еще на перле сделать
Dmitry
А из access_by_lua_file можно как то запрос увести в proxy_pass?
Если я вас правильно понял то вам нужен ngx.location.capture, но я с ним работал давно и уже плохо помню какие там есть ограничения
Dmitry
Он не работает на внешние ресурсы.
У меня было что-то типа location /foo { proxy_pass http://foreign-host; }, и ngx.location.capture("/foo"). Всё работало
Dmitrii
Ну это для слабаков
Dmitrii
Тоже думал так сделать )
Dmitrii
Но не хочу, чтобы лишний локейшен торчал наружу
Dmitry
Тогда лучше написать сервис, решающий поставленные задачи без выстраивания костылей вокруг nginx :)
Dmitrii
Ебаааать. Заработало
Dmitrii
Пойду бухать.
Dmitrii
#aws #s3 #nginx #proxy location /vagrant/boxes { rewrite ^/vagrant/boxes/(.*)$ /$1 break; access_by_lua_block { local app_uri = ngx.var.uri local app_date = ngx.http_time(ngx.time()) local app_host = 'AWS_BUCKET.s3.amazonaws.com' local app_haws_access_key = 'AWS_ACCESS_KEY' local app_haws_secret_key = 'AWS_SECRET_KEY' local app_to_sign = 'GET\n\n\n' .. app_date .. '\n' .. '/AWS_BUCKET/PATH_PREFIX' .. app_uri local app_hmac = ngx.hmac_sha1(app_haws_secret_key, app_to_sign); local app_signature = ngx.encode_base64(app_hmac) ngx.req.set_header('Date', app_date) ngx.req.set_header('Host', app_host) ngx.req.set_header('Authorization', 'AWS ' .. app_haws_access_key .. ':' .. app_signature) } proxy_pass https://AWS_BUCKET.s3.amazonaws.com/PATH_PREFIX/$1; }
Dmitrii
Пускай хоть что-нибудь полезное от меня будет в этом чяте.
Dmitrii
Не понятно только нахера люди велосипедят это на C или с помощью сторонних модулей типа ngx_set_misc, который тянет за собой еще и ndk_http_module
Dmitrii
Мне упало счастье, оказаться в компании где бабки не считают.
Dmitrii
Т.е. все думают, что AWS — не дорого.
Max
Счастливый
Constantine️
😂
Constantine️
бабки не считают ))
Sergey
можно контакты и явки этой компании
Sergey
а вообще я кину номер карты - пускай пару лямов кинут, мне квартиру надо купить и машину
Sergey
и операцию по увиличению чпо
Sergey
спишите все на расходы по амазону
yopp
член половой обычный?
Sergey
чоловичий половый орган
Sergey
хотя ваш вариант тоже ничего так
Sergey
вот когда основной исходящий - дорого
Sergey
медиа контора
Sergey
коло на своем железе выходит тупо дешевле
Sergey
угу
Sergey
там уже становится вопрос выбора дц
Sergey
хотя вот подход нетлифкса очень правильный
Sergey
свой у них сдн плюс процессинг в амазоне и холодная хранилка в s3
Sergey
ну я не не спец в амазоне
Sergey
так тыкал немного
Magistr
Т.е. все думают, что AWS — не дорого.
ну этоже правда, если начать операционные и капитальные затраты сравнивать
Dmitrii
У нас постгря в RDS
Dmitrii
И чет, желания руками ее обслуживать у меня пока нет.
Sergey
ну когда у тебя 3 точки присутствия крцпных, две в европе и одна в штатах, на каждую точку порядка 100-150 гигабит трафика, основная часть конечно через сдн - амазон очень дорого
Dmitrii
Есть минусы. В AZ реплику нельзя постучаться, даже если она у тебя включена как failover
Sergey
за RDS от многих слышал что вещь хорошая
Dmitrii
Т.е. по сути же это у них хотстендбай
Dmitrii
А добраться до него никак
Dmitrii
Еще failover у них долгий, ппц.
Dmitrii
Лучше бы его небыло
Magistr
а еще бекап план на амазоне звучит - так, а вот эти сервисы бекапим ? - да снапшоты дисков раз в сутки а базу - тоже снапшоты
Magistr
А добраться до него никак
ну да обычго ненужно, а когда нужно на ец2 можно поднять )
Dmitrii
Ну так да, но сам подумай, платить дохуищщу бабла за этот сраный AZ который ты даже не видишь
Dmitrii
У меня даже создается впечатление, что они просто втихую из снапшота сетапят базу как то
Dmitrii
Иначе херли он так долго переключается
Magistr
хм насчет постгреса нечитал механизм, но у мускуля там даунтайм я 1 минуту видел и то при апдейте версии
Dmitrii
У нас постгрес и я замерял ­— бло около 3-5 минут.
Dmitrii
Будут
Dmitrii
На failover.
Magistr
На failover.
ну судя по факу вполне норм время
Dmitrii
ну судя по факу вполне норм время
Меня бы устроило не более 10-15 сек.
Anonymous
google cloud sql
Magistr
Меня бы устроило не более 10-15 сек.
ну тут только самому пилить )
Anonymous
может появится
Vladimir
Мб в финке появится
nvkv
Ну, разливай смузи и по макбукам
nvkv
Мир ждёт CMS для докера!
Pavel
Ты имеешь в виду что вордпресс неудобно динамически обновлять в контейнере?
Pavel
Идея динамически обновлять код CMS сама по себе видится некорректной сейчас
Dmitrii
Я тут еще не так давно спрашивал, как сделать авторизацию по клиентским сертификатам чтобы без вот этой вот херни с само-подписанными сертификатами?
Dmitrii
Может есть способы?