LINUX.ORG.RU

74
Всего сообщений: 1110

Get запрос в nginx

Проблема состоит в том, что я могу ввести любой get запрос. Например: mysite.com/?pornwithbigdick И сайт выдаст 200 ответ. Я так понимаю, чего-то не хватает в конфиге. Как правильно обработать get запрос?

Мой конфиг:

( читать дальше... )

 , ,

Seregas200 ()

zabbix мониторинг кодов 200 502 503 nginx

есть такое условие - если 502/503 - больше 1% от всех запросов за последние n минут то аларм

может быть есть уже готовое решение?

 , ,

Garcia ()

Подмена времени.

Добрый день! На сервере стоит система мониторинга, необходимо в логах которые прилетают с другого сервера заменять время на время сервера на котором стоит система мониторинга. Как-то это можно реализовать?

 , , ,

Uporaba ()

Обновить nginx c 1.15.3 до 1.15.7 centos 7

Как безопасно всё сделать с сохранением всех настроек .conf ?

P.S.

Если возможно пошагово (мануал в сети ненагуглил :( )

 , ,

suffix ()

Nginx + Resolver объясните...

Никак не могу заставить работать корректно resolver!

Есть такой конфиг:

upstream a {
    server first.example.com;
}

server {
    resolver 8.8.8.8 valid=30s ipv6=off;
    set $backend http://a; # пробовал описывать это и в location
    
    location / {
        proxy_pass $backend;
    }
}

Например, я принудительно меняю ip адрес у first.example.com Но почему то nginx до сих пор пытается открыть сайт со старого ip. И по истечении 10 минут, и по истечении часа и даже сутки ждал.

TTL у домена 300 секунд.

nginx -s reload
такая команда сразу сбрасывает весь dns кеш.

Как заставить делать nginx это автоматом? Что я делаю не так?

P.S. В /etc/resolv.conf стоят восьмерки.

 , ,

xisip ()

Релиз nginx 1.14.2 (исправления в стабильной ветке)

Состоялся минорный релиз nginx 1.14.2 исправляющий ряд ошибок в текущей стабильной ветке. Так-же внесено одно изменение.

  • Исправление: nginx не собирался gcc 8.1.
  • Исправление: nginx не собирался на Fedora 28 Linux.
  • Исправление: в обработке адресов клиентов при использовании unix domain listen-сокетов для работы с датаграммами на Linux.
  • Изменение: уровень логгирования ошибок SSL «http request», «https proxy request», «unsupported protocol», «version too low», «no suitable key share» и «no suitable signature algorithm» понижен с уровня crit до info.
  • Исправление: при использовании OpenSSL 1.1.0 и новее директиву ssl_prefer_server_ciphers нельзя было выключить в виртуальном сервере, если она была включена в сервере по умолчанию.
  • Исправление: nginx не собирался с LibreSSL 2.8.0.
  • Исправление: если nginx был собран с OpenSSL 1.1.0, а использовался с OpenSSL 1.1.1, протокол TLS 1.3 всегда был разрешён.
  • Исправление: при отправке сохранённого на диск тела запроса на gRPC-бэкенд могли возникать ошибки.
  • Исправление: соединения к некоторым gRPC-бэкендам могли не кэшироваться при использовании директивы keepalive.
  • Исправление: в рабочем процессе мог произойти segmentation fault, если использовался модуль ngx_http_mp4_module на 32-битных платформах.

 ,

MrClon ()

nginx reverse-proxy без расшифровки ssl

Доброй ночи. Настраиваю nextcloud, и хочется чтобы он был доступен и из локалки и извне. Но так как белого ip нет, то обычно для доступа из инета я использую reverse proxy, ну или port forwarding в туннель. Однако здесь не подходит ни то, ни другое.
Nextcloud не работает по http даже в локалке, так что скопировал ему рабочий сертификат. Однако теперь получается что reverse proxy расшифровывает https запрос, перенаправляет http на локальный сервер, который требует на https, и все начинается по кругу. Сделать port forwarding я тоже не могу, ведь придется перенаправлять весь 443, а это не хорошо - у меня там еще сайты крутятся.
Конечно, можно перенаправлять какой-то другой порт, но это не красиво.
Можно ли сделать лучше? Возможно, у nginx proxy есть директива не разворачивать https траффик?..

 , , ,

Nightfall ()

Подскажите, почему ругается nginx на ssl_certificate

Вот конфиг:

    # HTTPS server
    #
    server {
        listen       443;
        server_name  localhost;

        ssl_certificate      /etc/ssl/certs/star_domainname_az.crt;
        ssl_certificate_key  /etc/ssl/certs/star_domainname_az.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }

Вот ошибка:
2018/11/30 12:53:50 [emerg] 103755#0: unknown directive «ssl_certificate» in /usr/local/nginx/conf/nginx.conf:122
Что я делаю не так?

 ,

dada ()

Nginx + Upstream объясните...

Не могу до конца понять как работает upstream в nginx. Прошу помощи!

На данный момент имеет такой тестовый конфиг:

upstream a {
    server 1.1.1.1;
    server 2.2.2.2 backup;
}

server {
    location / {
     #...
     proxy_pass http://a;
     #...
    }
}

Все работает отлично пока сервер 1.1.1.1 доступен по сети. Если он «падает» (проблема с сетью) то приходится ждать очень и очень долго для того чтобы сайт открылся с сервера 2.2.2.2

Причем след. запрос работает ровно так же - очень долго ожидание.

Как сделать так, чтобы nginx сразу(или за максимально короткий срок) пытался открыть сайт с сервера 2.2.2.2 если сервер 1.1.1.1 перестал быть доступным?

Спасибо!

 ,

xisip ()

Nginx 1.15.7

Новый релиз в основной ветке nginx

  • Добавление: директива proxy_requests в модуле stream.
  • Добавление: параметр «delay» директивы «limit_req». Спасибо Владиславу Шабанову и Петру Щучкину.
  • Исправление: утечки памяти в случае ошибок при переконфигурации.
  • Исправление: в переменных $upstream_response_time, $upstream_connect_time и $upstream_header_time.
  • Исправление: в рабочем процессе мог произойти segmentation fault, если использовался модуль ngx_http_mp4_module на 32-битных платформах.



tl;dr минорщина всякая

 ,

MrClon ()

Nginx $host и левые ip в логах

Настроил сбор логов в ELK. Чтобы понимать какое сообщение к какому сайту относится, добавил в nginx запись $host в лог.
Иногда, каким-то образом в $host попадают ip ботов-сканеров, вместо названия проксируемых сайтов. Это нормально вообще ?

 , , , ,

bdfy ()

nginx вернуть по определенному адресу файл

подскажи пожалуйста, как сделать. нужно по определенному URL, условно, /script.js вернуть статический файл. Но! в этом файле использованы переменные nginx - не пойму как сделать, чтобы они не текстом выводились, а заменялись на нужное значение сделал вот так

location /script.js {
    default_type text/plain;
    alias ${ngx_dir}/special/js_clear.conf;          
}
содержимое файла выводится, но не происходит замены переменных на значения. выводится просто текстом $var, а нужно значение

 

Anfernee ()

nginx исключение директории

Привет всем. Как можно исключить директорию из location?

location ~* ^.+\.(js|css)$ {
       expires 2h;
}

Как сделать чтоб это условие было не действительно если файл лежит по пути /static/*/ ?

 ,

jessgt ()

Проблема с SSL сертификатом для поддоменов с www

Привет,

Проблема вот в чем, нужно на множестве поддоменов с www сделать редирект на без www, по https, но это не удается сделать т.к для поддоменов с www нужен отдельный сертификат и выпускать их займет очень много времени.

Поэтому вопрос можно ли как то по другому это сделать? Были попытки избавится от поддоменов с www в nginx но безуспешно.

 , ,

typol ()

nginx Помогите понять лог.

Добрый день. Помогите пожалуйста... Не могу понять, на что именно ругается?

Вот такой лог вижу в error.log nginx`a когда просто захожу на сайт. (Строку ентером поломал, для удобства чтения)

 
2018/11/21 20:17:10 [error] 24418#24418: *1 connect() failed (111: Connection refused) while connecting to upstream, 
client: 192.168.1.14, server: tp.la.ru, request: "GET /platform/javax.faces.resource/theme.css.xhtml?ln=primefaces-platform-P1Platform HTTP/1.1", 
upstream: "http://[::1]:8080/platform/javax.faces.resource/theme.css.xhtml?ln=primefaces-platform-P1Platform", 
host: "tp.la.ru", referrer: "http://tp.la.ru/platform/portal/teh"
Притом в network в chrome (F12) ошибок не вижу, там всё по плану. Код 200 или 304

Вот конфиг nginx ( В нём было много чего, но в поисках проблемы выбросил все, но ошибка в логе осталась)

server {
    listen 80;
    server_name  tp.la.ru;
    access_log  /var/log/nginx/tp.la.ru/access.log;
    error_log /var/log/nginx/tp.la.ru/error.log;

location /platform {
        proxy_pass http://localhost:8080;
        proxy_redirect default;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_buffering off;
        proxy_connect_timeout       3600;
        proxy_send_timeout          3600;
        proxy_read_timeout          3600;
        send_timeout                3600;
    }

}

Спасибо за любой совет и направление ))

 

ishk0 ()

Ребята, помогите пожалуйста ! ) Не могу установить nginx + apache на Ubuntu 18.10. Нужен нормальный мануал.

Пытаюсь переехать на новый Сервер. Ubuntu 18.10. Нужно перенести один сайт, чтобы при входе по IP сервера он отображался. Нужно, чтобы он одновременно работал на nginx и apache. Я понимаю nginx, apache должны быть на разных портах. Например apache на 8080, nginx на 80. Сайт будет лежать в директории /var/www/test.com/public_html

Переискал уже куча разных статей. Перепробовал много вариантов. Ничего не помогает.

Помогите пожалуйста найти адекватную статью по этому вопросу!

 , , ,

sashacitylight ()

nginx парит мозг

Всем привет. Тыкаюсь в ubuntu 18.04 c nginx 1.14. Nginx за натом, порт проброшен.

Конфиг:

cat /etc/nginx/sites-available/test
server{
        listen 80;
        server_name белый айпи;

        root /home;

        location / { 
                try_files $uri $uri/ =404;
        }
}

ls -l /home/
total 4
drwxr-xr-x 2 rain rain 4096 Nov 20 11:36 rain

При попытке подключения в браузере по айпи адресу,

This page isn’t working белый айпи redirected you too many times.
Try clearing your cookies.
ERR_TOO_MANY_REDIRECTS

Редирект идёт на эту страницу:

http://белый айпи/servererror.php?code=401

Что ему надо? В 16.04 с таким конфигом работало корректно.

А вообще, задача: отдавать при обращении к http://белый айпи/rain/ файлики по http

 ,

BitSum ()

Proftpd убрать доступ из браузера ftp://

Добрый вечер! Извиняюсь, если ошибся категорией форума. Вопрос уже написан в оглавлении, не могу найти информации о том, как запретить доступ по фтп из браузера. Еще, прокомментируйте пожалуйста, как это сказывается на безопасности, если есть доступ через браузер. RequireValidShell при этом = no.

 , , , ,

Seregas200 ()

NGINX+PHP5-FPM как убрать расширения .html и .php?

Здравствуйте! Подскажите, как убрать из адресной строки расширения файлов .html и .php? В секцию server{} добавил настройки:

location / {
	location ~ ^/index.html$ {
		if ($request_uri ~ ^/index.html) {
			rewrite ^.*$ / permanent;
			}
	}
	rewrite ^(/.*)\.php(\?.*)?$ $1$2 permanent;
	rewrite ^(/.*)\.html(\?.*)?$ $1$2 permanent;
	rewrite ^/(.*)/$ $1 permanent;
	try_files $uri.php $uri.html $uri/ $uri =404;
	location ~ \.php$ {
		include fastcgi_params;
		fastcgi_pass  unix:/var/run/php5-fpm.sock;
		fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
	}
}

В итоге убраны расширения .html файлов, работает редирект с главной страницы на корень сайта, а вот расширение .php никуда не исчезает. Что у меня неправильно?

 ,

Servis-engineer ()

Вышел NGINX Unit 1.6

Что-то я давно новостей про nginx не копипастил, так и навык растерять недолго.
Для невнимательных: это не про веб-сервер nginx, это nginx unit — сервер приложений (WTF?). Совсем другое ненужно

Рад сообщить о выпуске новой версии NGINX Unit.

Этот выпуск в основном посвящен улучшениям совместимости модуля Node.js с приложениями; благодаря активной помощи сообщества нам удалось добиться существенных успехов.

Пожалуйста сообщайте нам обо всех найденных проблемах и трудностях в:

- Github: https://github.com/nginx/unit/issues
- список рассылки: https://mailman.nginx.org/mailman/listinfo/unit

Если модуль unit-http был установлен из npm, то не забудьте обновить его вместе с Unit.

Подробные инструкции по установке Node.js находятся на сайте:

- http://unit.nginx.org/installation/#node-js-package

Изменения в Unit 1.6

  • Изменение: команда «make install» теперь также устанавливает модуль Node.js, если он был настроен.
  • Добавление: параметр "--local" в ./configure для локальной установки модуля Node.js.
  • Исправление: модуль Node.js мог падать из-за неправильного подсчета ссылок.
  • Исправление: могли не работать асинхронные операции в Node.js.
  • Исправление: различные проблемы совместимости с Node.js приложениями.
  • Исправление: в журнале могли появляться оповещения «freed pointer is out of pool».
  • Исправление: обнаружение модулей не работало на 64-битных системах с обратным порядком байтов, например IBM/S390x.



Сайт: https://unit.nginx.org/

 ,

MrClon ()