Size: a a a

2021 June 21

ВМ

Владимир Муковоз... in nginx_ru
))
источник

D

Dmitry in nginx_ru
Коллеги, добрый день, есть проблема с нжинксом в контейнере. Я билжу образ, в нем конфиг, где прописан прокси-пасс к определенному хосту. Хостов, к которым необходимо проксировать подключение неколько - соответственно, чтобы не билдить каждый раз контейнер с уникальным хостом для прокси-пасса, я ввожу в конфиг переменную и это переменную передаю при запуске контейнера и получается у меня грубо говоря

proxy_pass https://$host1;

запускаю докер, передавая переменную host1='example.com'

по идее, у меня должна подцепиться эта переменная в конфиге, потому что в списке env эта переменная есть, но этого не происходит, нжинкс не распознает эту переменную и проксирует на несуществующий адрес https://$host1 Где я тут дурак, что упустил? Сам нжинкс так не умеет читать переменные, или где?
источник

A

Anton in nginx_ru
в стоке nginx не умеет использовать системные переменные (есть конечно http://nginx.org/ru/docs/ngx_core_module.html#env , но это немного для другого)
емнип можно реализовать только через lua/perl/etc
источник

AN

Anton Noginov in nginx_ru
Либо просто шаблонизировать конфиг шеллом перед запуском
источник

U

User in nginx_ru
я такой костыль заюзал, https://cyral.com/blog/how-to-auto-reload-nginx/
источник

D

Dmitry in nginx_ru
Спасибо за рекомендации, наверное, проще всего будет сделать скрипт, который перед запуском будет через sed менять содержимое файла с конфигурацией да и всё
источник

AN

Anton Noginov in nginx_ru
sed-то зачем?
источник
2021 June 22

S

Scumtron in nginx_ru
Приветы! Подскажите, а Nginx умеет обращаться к файловой системе как бэкенду или только через хост? Нужно кешировать видео с HDD на SSD...
источник

S

Scumtron in nginx_ru
Varnish умеет такое, а вот с Nginx, наверное, такое не получится?
источник

S

Scumtron in nginx_ru
Осторожно google.translate   "Бэкэнд позволяет обслуживать статические файлы через Varnish. URL-адрес внутреннего запроса добавляется к корневому каталогу vmod для формирования пути к файлу. Если путь к файлу разрешается в обычный файл и доступен для чтения дочернему процессу Varnish, он используется в качестве источника для этой внутренней операции выборки. Файлы, обслуживаемые таким образом, обрабатываются так же, как если бы они были получены из реального бэкэнда, и поэтому будут кэшироваться в памяти в соответствии с текущей конфигурацией. TTL, grace и keep работают как обычно."
источник

AN

Anton Noginov in nginx_ru
В вашей терминологии - только через хост.
Никто не мешает проксировать самому на себя, но proxy_store работает только для прокси .
источник

EP

Ed P in nginx_ru
Всем привет. У меня, возможно, нубский вопрос, но т.к. я не сисадмин и с nginx работал только один раз, то, возможно не так гуглил задачу:

Допустим, есть статичный сайт с главной страницей и подпапками. На главную могут заходить все пользователи, а подпапки хочется сделать индивидуальными для каждого пользователя. В каждом пользовательском каталоге для простоты могут быть либо pdf-ники, либо html страницы.

Вопрос: можно ли с помощью nginx и сторонним сервисом для аутентификации (типа Auth0, но это непринципиально) сделать так, чтобы пользователи после авторизации попадали в свой каталог?

Я как-то решал задачу для аутентификации через Auth0 и помню, что там можно было передавать юзернейм. Может ли nginx понять, какой именно юзер залогинился и перенаправить его в собственный каталог, который называется так же, как имя пользователя.

Разумеется, должна выдаваться ошибка, если в каталог пользователья ломанется неавторизированный юзер или залогиненный юзер захочет поглядеть чужой каталог.

Я пока не углубляюсь в тему, почему именно статичные сайт, нельзя ли сделать на любом вордпрессе и т.п. Если нельзя, тогда буду думать :)

Всем заранее спасибо за советы.
источник

Р

Р in nginx_ru
Привет, можно попробовать задать значение document root переменной $remote_user, эта переменная равна имени пользователя, используемого в Basic аутентификации
источник

Р

Р in nginx_ru
Теоретически, это то что нужно, но может быть кто-то и на практике делал.
источник

EP

Ed P in nginx_ru
Спасибо за идею.
Да, что-то такое, только с third-party authorisation вместо локального файла с паролями
источник

DT

Desk Top in nginx_ru
Всем привет! Подскажите плз.
location /business {
                root /opt/domains/gatsby/public;
               try_files $uri $uri/ /index.html;
}

Есть такая конфигурация в общем nginx конфиге.
Когда я иду на свой сайт(mysite.com/business), то он не видет контента который находится дальше директории public.
Получается примерно так
mysite.com/page-data/1.json
mysite.com/static/2.svg
mysite.com/page-data/sq/2/rrr.json
и .д.
Если я из паблика всё кину в корень(где выше в конфиге у меня указан root /opt/domains/gatsby/), то всё работает и контент видно.
Можно ли как-то сделать редирект на другую директорию( в моёс случае public) или что-то вроде этого?
Спасибо
источник

Vs

Vladislav support.od... in nginx_ru
у вас скорее статика в другом локейшене указана. Выкладывайте на pastebin полный конфиг
источник

Vs

Vladislav support.od... in nginx_ru
nginx -T
источник

ВМ

Владимир Муковоз... in nginx_ru
можно пример ури и путь до файла который должен отдаваться?
источник

КК

Кирилл Кашин... in nginx_ru
Всем привет, подскажите, мне нужно открыть файл css через браузер, делаю так
location /ms/ {
 root /var/www/путь где лежат файлы/;
}
в ответ отдается 404 по запросу юрл, в логи ничего не пишет
при этом пробовал добавить autoindex on;
и открыть дирректорию, так же 404, пробовал выставить
try_files $uri $uri/ /index.php?$query_string; тоже самое
источник