r...@nginx.com Wrote:
> > Мне НЕ нужно глобально менять Сontent-Type в location для всех
> ответов
> > Только для файлов с определёнными названиями.
>
> Задайте "файлы с определёнными названиями" при помощи location'а,
> внутри которого задайте нужный mime-тип.
Да! Такая конструкция
Добрый день! r...@nginx.com
> > Вопрос как файлу назначить Content-Type всё ещё висит
> Для того чтобы для определённого location’а для всех ответов
Мне НЕ нужно глобально менять Сontent-Type в location для всех ответов
Только для файлов с определёнными названиями.
Спасибо!
Posted at
Илья! Добрый день.
> > Но nginx мне в заголовках выдает:
> > 1.js - Content-type: application/javascript
> > .js - Content-type: application/octet-stream
> >
> мы сталкивались с тем, что сторонние модули влияют на эту логику.
> попробуйте nginx без модулей ?
Проверил без модулей lua - результат
Добрый день Роман!
> Ну нету в никсах расширений, нету!
В никсах нету, а в nginx есть - в файле mime-types :)
Вопрос как файлу назначить Content-Type всё ещё висит
Надеюсь есть решение:)
Спасибо!
Posted at Nginx Forum:
https://forum.nginx.org/read.php?21,272787,272791#msg-272791
Константин добрый день!
> > Имеем два файла: 1.js и .js
> > По моей логике у этих файлов расширение "js", а имена разные, у
> одного есть, а у другого пустое.
> Вообще "1.js" - это файл с именем "1" и расширением "js", а ".js" -
> скрытый файл с именем "js" и без расширения
>
Да конечно
Добрый день уважаемые!
Имеем два файла: 1.js и .js
По моей логике у этих файлов расширение "js", а имена разные, у одного есть,
а у другого пустое.
Но nginx мне в заголовках выдает:
1.js - Content-type: application/javascript
.js - Content-type: application/octet-stream
Подскажите пожалуйста!
Вадим добрый день!
> SELinux, AppArmor, ...
Реально покраснел от стыда за свой косяк от Вашего мессаджа про selinux
Спасибо огромное про напоминание, что доверять VPS-шаблонам вредно для
кровоснабжения.
Но эта тема уже не этого форума:)
Posted at Nginx Forum:
Геннадий Спасибо!
> внутри этого каталога nginx имеет право удалять
> и переименовывать любые файлы и каталоги
Век живи век учись! Даже не предполагал, что это стандартное поведение оси.
Почему-то всегда думалось, что правила безопасности оси, к правам на файлы и
каталоги,
гораздо
limit_req_zone $binary_remote_addr zone=social:10m rate=5r/s;
limit_req_zone $binary_remote_addr zone=com:10mrate=50r/s;
limit_req_zone $binary_remote_addr zone=itcodcom:1mrate=10r/s;
limit_req_zone $binary_remote_addr zone=itcod:100m rate=100r/s;
map_hash_
Максим добрый день.
Что найдено то и показано. Без затей. Для тех кого это может коснуться.
> Этим вы показали только то, что устаревшая версия nginx с кучей сторонних
> модулей имеет возможность переименовывать/удалять директории, на которые
у
> nginx нет прав.
Инет не идеален:) Версия не самая
Константин спасибо!
Так и сделаю. вообще все излишества уберу при тесте.
Уважаемые если у кого нибудь уже стоит такой минималистический nginx, буду
благодарен
услышать Ваш результат.
Проверить можно за 2 минуты. Вот тут ролик как это сделать.
Добрый день уважаемые.
Меня попросили подтвердить слова о баге который я описал в первом посте.
Заснял процесс переименования и удаления папки владельца root, гипотетически
не имея на это прав.
Использовались WEBDAV команды MOVE и DELETE которые формировал BitKinex.
Эх Виталий! Перед новым годом, временем на танцы с бубном
катастрофически не хватает:))) Проще арендовать готовую VPS'ку на месяц за
250рублей и протестить найденый баг:)
Posted at Nginx Forum:
https://forum.nginx.org/read.php?21,271302,271321#msg-271321
И так и эдак. Без разницы каким девайсом терминально по ssh на серв в инете
входить
Если и не прозвучат демо-VPS'ки, для быстрого старта тестов, то через пару
недель как поосвобожусь, разверну у кого нить из своих друзей vps'ку
тестовую под libvirt и сделаю тесты найденой дыры на чистой
У меня своих только боевой и девел-серв на которых по феншую "ничего
лишнего". Так что варианты с vagrant/ libvirt/etc отпадают. Идеально imho
VPS'ку гдето в инете с привычным федоркой:)
Posted at Nginx Forum:
https://forum.nginx.org/read.php?21,271302,271313#msg-271313
Дмитрий добрый день!
> Предлагаю повторить это все на с нуля установленной системе и nginx
> без сторонних модулей
Буду благодарен если сообщество подскажет где для этих тестов взять
бесплатную временную виртуалку с федорой. Без заморочек с инсталяциями оси и
излишней настройкой, а то как обычно
>вы ошибаетесь.
Максим! конечно я ошибся в том кто виноват, раз мастер не исполняет а только
инициализирует. Я просто смотрю именно на него косо, так как в связке
nginx-процессов он один имеет права рута. И если это не сам мастер, значит
вероятно права рута из него как-то отдаются функциям в
DAV команда MOVE так же исполняется над папками и файлами любого системного
пользователя
Posted at Nginx Forum:
https://forum.nginx.org/read.php?21,271302,271303#msg-271303
___
nginx-ru mailing list
nginx-ru@nginx.org
Обнаружил уязвимость. Надеюсь не я первый и уже есть таблетка.
Команда DELETE (модуля WEBDAV) исполняется мастер-процессом nginx от
пользователя root. Так как по умолчанию мастер-процесс стартует от рута для
доступа к портам 80 & 443 (0-1024).
root 9100 0.0 0.4 331232 7960 ?Ss
Максим спасибо.
Подскажите пожалуйста области действия команды map в конфигах
А то ставил и в location и в server секции, и кругом получаю
[emerg] map directive is not allowed here
Неужели "это счастье" можно применять только в глобальном масштабе (в секции
http)?
Спасибо.
Posted at Nginx
=itcod burst=200 nodelay;
limit_rate 2048k;
set $auth_dav private; #none/private
access_by_lua_file /etc/nginx/lua/auth-dav.lua;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
create_full_put_path on;
dav_access
ещё есть вот такой проект
https://github.com/mrDoctorWho/lua-captcha
я его не пробовал, потому что демки не видел.
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,260228,260312#msg-260312
___
nginx-ru mailing list
nginx-ru@nginx.org
я сейчас как раз рисую
в луашку встраиваю обращение к гуглёвому сервису recaptcha.
если подойдёт подскажу/покажу чего знаю.
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,260228,260310#msg-260310
___
nginx-ru mailing list
Илья добрый день!
сорри за долгое молчание. прозевал ваш коментарий. отпуск:)
да я и решил задачу как написал, подменяя относительные пути полными.
во-первых, не совсем понятно, зачем нужны абсолютные пути.
Ситуация которую я решил таким методом описана в первом письме этой ветки
Добрый день уважаемые!
On 06.05.2012, at 22:17, Alexey V. Karagodov wrote:
и планируется-ли внедрение методов LOCK / UNLOCK ?
автор ответил:
arut commented on 54cebc1 4 minutes ago
2) да, планируется, как только у меня будет время, сделаю
Уважаемые кто нибудь вкурсе!?
есть ли подвижки с 12го
РЕШЕНО.
Решил проблемку с относительными путями в body autoindex заменяя их полными
URI.
Тем самым привожу ссылки к однозначному толкованию в браузерах.
Написал обработчик body на lua.
https://github.com/itcod/md5index
Может кому пригодится кроме меня:)
Заодно добавил обработчику функционала
Добрый день уважаемые!
Просветите плиззз! Как реализовать сабж.
Необходимо чтобы локейшн отработал всё что положено (модулями и скриптами)
сгенерил какойто ответ,
и этот ответ в результате поступил на обработку скрипту lua.
Возможно ли такое? если да то как?
ЗЫ: Реально задача заключается в том
mva добрый день!
спасибо.
на чердак... и учит его учить и учить:)
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,258380,258385#msg-258385
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
нашёл на просторах вот такое
body_filter_by_lua_file
не знаю подойдёт или нет...
Подскажите плиззз, где есть документация на эти конструкции какие
бывают, для чего применяются... как работают
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,258380,258381#msg-258381
Максим добрый день!
позитивное чтиво:))) сенькс
5лет без результата знач ещё не менее 10ти будут кота за хвост
таскать:)))
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,258313,258327#msg-258327
___
nginx-ru mailing list
о точно я прочел что 2000... и чвото у мня калькулятор сбойнул:)
15 лет imho неверно задача поставлена похоже
вот и не решается:)
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,258313,258329#msg-258329
___
nginx-ru mailing
Здравствуйте уважаемые!
в секции server имею запись
charset utf-8;
в location имею
auth_basic Авторизация
auth_basic_user_file /path/.htaccess
Открываю браузерами и вижу в окне запроса юзера+пароля
«ÐвÑоÑизаÑиѻ
curl показывает заголовок content-type text/html; charset=utf-8
видимо
Илья добрый день!
Та чво тут удивляться:) сколько идей столько и велосипедов:)
я так понимаю, что раз эти вопросы с кодировками базовой авторизации за 20
лет так и не утрясли на уровне стандартов... то тоже придётся свой вилисАпед
выпиливать или колеса отпилить:))
пилите Шура(с)Osя :
нарыл вот этот документ
The 'Basic' HTTP Authentication Scheme
draft-ietf-httpauth-basicauth-update-07
https://tools.ietf.org/html/draft-ietf-httpauth-basicauth-update-07#section-2.1
где описывается вот такая схема:
WWW-Authenticate: Basic realm=foo, charset=UTF-8
а работает ли такое в nginx?
у
PS: У меня дежавю. прецедент вспомнился подобная тема обсуждалась в
годах 1995 в fido-конференции по ifcico. Актуальность подобных холостых
передач там была очень высокая, из за ограниченного кол-ва каналов передачи,
их низких скоростей и высокой стоимости.. как результат реализовали обрыв
Илья добрый день!
вы сами клиенту сказали, что поддерживаете PUT, он делает PUT, вы его
фейлите.
прикиньте, как клиент расстраивается от такого расклада ))
Это спорный вопрос расстраивается или просто некоректна логика обработки
ответов от сервера в данной точке программы клиента:) Если бы nginx
mva добрый день!
На PUT он отвечает нельзя сразу по получении (т.е. по окончании)
*запроса*.
Да. вы описываете ситуацию верно... как я её вижу.
1. получение nginx'ом заголовка сообщения
2. получение тела сообщения
[... lua ...] - 405
А отвечать нельзя по получении одного лишь заголовка, не
mva добрый день ещё раз:)
Ну, у меня на сервере с отключенным PUT, например, 405+400
выбрасывается сразу, не получая содержимое файла.
А у вас это в динамике или статично прописана блокировка? если динамично
поделитесь идеей плиззз...
Другое же дело, когда метод фигурирует в разрешённых у
ЗЫ
Т.е. ситуация такая:
DAV-модуль говорит серверу, что он готов получать и обрабатывать PUT.
Сервер, следовательно, считает PUT валидным запросом.
а ваш коментарий про OPTIONS и PUT
а если я из lua попытаюсь изменить OPTIONS то PUT для DAV-модуля будет
инвалидным.
Posted
добавил в location конструкцию
if ($request_method = PUT) {
return 403;
}
по прежнему PUT прокачивает холостые гигобайты трафика! :(
Буду рад мыслям сообщества!
какими ещё существующими средствами nginx, можно всё таки прекратить такое
сверхлояльное поведение nginx с настырными PUT'анами:)))
dav.example.com;
server_name_in_redirect off;
access_log /var/log/nginx/dav-access.log main;
location / {
access_by_lua_file /etc/nginx/lua/auth-dav1.lua;
dav_methods DELETE COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
create_full_put_path on;
dav_access user:rw group:rw;
client_body_temp_path /opt/itcod
Добрый день Александр!
Да там получается пара друг за дугом. Фронт старичёк
Ура!!! Вы совершенно правы!!! Обратился BitKinex к внутреннему
Он обрывает PUT сразу!!!
PUT /IMG_20150414_184225.jpg HTTP/1.1
Host: home.virtual.ko:7070
User-Agent: BitKinex/3.2.3
Accept: */*
Pragma: no-cache
и на эту ситуацию ещё накладывается дефолтное поведение BitKinex
автоматически повторять посылку файла при неудаче... а любой код возврата от
PUT кроме успеха он считает неудачей, и многократно повторяет передачу
ну и передача в 600к при таком поведении превращается в 18мегов, 30 лишних
сессий
а интересно proxy_* в if завернуть можно? проверь
конечно это не динамическое будет, а одна ступенька...
но если сработает... то костыль на время необходимости сгодится...
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,257773,258127#msg-258127
Илья добрый вечер!
чтобы ответить до начала передачи файла, надо реализовать Expect:
100-Continue
Как я понимаю это же запрос от клиента о возможностях сервера и ответ
сервера о том что можно... но это ведь как я понимаю инициируется от
клиента.
Но есть большая вероятность что не все клиенты
Илья добрый день!
еще можно попробовать реализовать запрет PUT таким образом, что в
ответе на OPTIONS не показывать PUT
А тут мы упираемся в корректность реализации клиента WEBDAV о которой нам
ничего не известно... не особо хочется наслово полагаться на соответствие
всех возможных webdav
то проще всего вашу задачу решить с помощью скриптового языка же, вернув
ошибку непосредственно из него.
Максим спасибо! вы гений!!! блин. ну чво я то так туплю:)))
И этот вариант вполне хорош, но первый лучше
if ($request_method = POST) {
return 403;
}
СПАСИБО! пойду попишу:)
Добрый день уважаемые
Кто нибудь уже решал эти задачки по динамическому изменению dav_methods для
location
1.
set $DAV PUT DELETE MKCOL COPY MOVE;
Выскакивает ошибка конфигурции. возникло предположение,
что нужно экранировать пробел. попробовал так:
set $DAV\ PUT\ DELETE\ MKCOL\ COPY\ MOVE;
Максим добрый день.
Нет в location не было limit_except. версия nginx 1.7.11
В принципе поиск в тех вариациях конфиг ошибок, уже не критичен.
Разве, что это кому нибудь ещё понадобится.
Постучавшись головой в ошибки... решил задачу написанием авторизатора на
lua
заодно и добавил не только
Максим спасибо...
хм. imho оч странный по моему подход зачем это ограничение я
хотел сделать чтобы у каждого юзера свои права были на локейшн... одному
можно писать другому нельзя... одному можно создавать папки другому сиди -
чай пей и так далее :)
а какие варианты существуют
1.
Если
нужно ограничить доступ к отдельным методам - следует использовать
средства контроля доступа.
Максим подскажите пожалуйста, какие модули вы подразумевали под средства
контроля доступа ?
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,258024,258031#msg-258031
Реальнее - использовать средства контроля доступа, см. выше.
Максим спасибо.
Из всех перечисленных вами средств похоже только limit_except по описанию
может раздельно влиять
на методы применяемые в WEBDAV (DELETE, MKCOL, COPY, MOVE, OPTIONS,
PROPFIND)
Задача тривиальна при изменении переменной
в предыдущем посте ошибку допустил когда писал сюда
конечно не работает
limit_except GET {
deny $limit_get;
}
перечитал топик ещё раз.
возникла мысль через if подключать блоки
limit_except GET {
deny all;
}
завтра попобую Максим спасибо за идеи.
Posted at Nginx Forum:
Конструкция:
set $limit_get all;
if ($limit_get) {
limit_except GET {
deny all;
}
}
Ошибка
nginx: [emerg] limit_except directive is not allowed here in .
И снова возвращаемся к вопросам о вечном :/
Что делать... кто виноват кудакуда идти:))
Posted at Nginx Forum:
Планы на будущее.
1. Добавить блокирование доступа пользователей WEBDAV к файлам паролей в
папках
2. Обеспечить доступ к файлам паролей админам папок
3. Внедрить расширеное управление доступными коммандами WEBDAV
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
Максим добрый день. Вы были абсолютно правы. В процессе написания
аутентификатора на lua выяснил, что если переменные (например
$file_password) создается в location / то при работе из WEBDAV клиентов они
не обрабатываются и остаются пустыми. Видимо это жучёк в nginx.
Вот так не работает:
server {
DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
create_full_put_path on;
dav_access user:rw group:rw;
client_body_temp_path /opt/itcod-dav.tmp/;
access_by_lua_file /etc/nginx/lua/auth-dav.lua;
client_max_body_size 0;
autoindex
РЕШЕНО
http://forum.nginx.org/read.php?21,257511,258000#msg-258000
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,257495,258001#msg-258001
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
да! хорошая иллюстрация! Илья спасибо. :)
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,257511,257625#msg-257625
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
пс2
Проверил модуль auth_request вылезают разные ошибки 301 404 и
тож не работает с дав.
редиректы так же облом... дав на них не реагирует
Может эт у меня руки кривые ? или звёзды так повернулись.затмение
блин:)
У кого нибудь дав работает с авторизацией от
Илья спасибо! за наводку!
если не затруднит киньте микро-пример...
я полный чайник в луа..
если на перл или js синтаксис похоже то разберусь:)
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,257511,257518#msg-257518
___
nginx-ru mailing
Добрый день уважаемые!
Кто нибудь сталкивался?
auth_basic_user_file $file_password;
Конструкция работает при обычном обращении из браузера к location.
И не работает запрос пароля, при обращении из dav-клиентов (far-netdrive,
bitkinex...).
В результате доступ к закрытым папкам, открыт по дав
62 matches
Mail list logo