Проброс файлов в NGINX

Синтаксис:	proxy_request_buffering on | off;
Умолчание:	
proxy_request_buffering on;
Контекст:	http, server, location
Эта директива появилась в версии 1.7.11.

Разрешает или запрещает использовать буферизацию тела запроса клиента.

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

Читать далее «Проброс файлов в NGINX»

nginx & fail2ban

Данная статья посвящена примитивной защите от DDoS-атак.

Примечание: видео материал можно посмотреть тут (Настраиваем fail2ban: защита от DoS и подбора паролей). Ниже изложен краткий конспект видео урока.

apt install fail2ban -y
apt install ipset -y

Примечание: ipset нам понадобиться ниже.

Делаем копию файла /etc/fail2ban/jail.conf jail.local, чтобы после обновления fail2ban настройки не «перетёрлись»:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Копия файла jail.local
Читать далее «nginx & fail2ban»

Установка pfx сертификата на NGINX

Требуется при помощи программы openssl преобразовать *.pfx сертификат в два файла: открытый сертификат и приватный ключ.

Примечание: если установлен GIT то openssl можно использовать и оттуда:

C:\Program Files\Git\usr\bin\openssl.exe

Внимание: при работе с сертификатом *.pfx требуется пароль для работы с ним без.

Читать далее «Установка pfx сертификата на NGINX»

Ручное обновление NGINX до версии 1.20.1 для Ubuntu 20.04 LTS

// Uninstall Nginx
sudo apt-get remove nginx
sudo apt purge nginx*

//Then, install Nginx following document: http://nginx.org/en/linux_packages.html#Ubuntu
sudo apt install curl gnupg2 ca-certificates lsb-release
echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx"| sudo tee /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
sudo apt update
sudo apt install nginx

Оригинал с Update nginx in ubuntu 14.04 — Stack Overflow

Мое примечание: если обновление происходит с версии 1.18.* то требуется предварительно сохранить копию файлов из папки /etc/nginx/sites-available

Файлы из папки /etc/nginx/sites-enabled копировать не нужно, они лишь символьные ссылки.

После обновления до версии 1.20.* нужно вручную перенеси информацию в каталог /etc/nginx/conf.d

Запускаем Bot Framework на nginx

server {
    server_name vnext-bot.appcode.pw;
    client_max_body_size 2M;
    location / {
        try_files $uri $uri/ @proxy;
    }

    location ~* {
        proxy_pass http://127.0.0.1:5000;  
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $server_name;
    }
...
}

Статьи:

https://groosha.gitbook.io/telegram-bot-lessons/extra/multiple_bots_2

Ошибка Nginx accept() failed (24: Too many open files)

У вас мощный сервер с десятком простых сайтов, клиенты довольны, сайты быстро открываются и регулярно обновляются. Приток посетителей с каждый днем все больше и больше. Но в один прекрасный момент эта идилия закончится, клиенты начнут жаловаться на частое появление ошибки 500. А почему она возникает? Давайте разберемся с одним из случаев.

Любая конфигурация связки apache+nginx с настройками по умолчанию когда-нибудь приведет к регулярному появлению ошибки 500. Почитав логи nginx вы увидите следующее:

Читать далее «Ошибка Nginx accept() failed (24: Too many open files)»