🚰 Якщо потрібно віддавати певні файли засобами Django view, а не як статичний файл через NGINX. То не забуваємо додавати заголовки про інформацію для кешування браузерами, щоб не перевантажувати запитами сервер.
Персональний блог на різноманітні теми: від кулінарії до мережевої безпеки.
MYCSS
2024-10-29
2024-10-22
Run APIs Easily. Anywhere. traefik.io. Q & A.
2023-12-03
Нотатка: патч порту сервера NGINX для додавання модуля JWT AUTH. Платформа FreeBSD.
Постала задача як зробити просту автентифікацію за JWT токеном безпосередньо через NGINX сервер.
За підпискою NGINX PLUS jwt-auth є у базовому комплекті. У Community verision jwt-auth не має.
Знайшов модуль від автора nginx-auth-jwt і вирішив додати до FreeBSD порту пакетів, щоб надалі було зручно собі оновлювати.
Результат оформив собі до репозиторію : https://github.com/lexxai/port_nginx_add_jwt_auth.
![]() |
| nginx hwt-auth FreeBSD port 3rd party module |
Приклад використання nginx.conf:
load_module /usr/local/libexec/nginx/ngx_http_auth_jwt_module.so;
...
location /token_protected {
auth_jwt "closed site";
auth_jwt_key_file .jwt_keyfile.json keyval;
auth_jwt_validate_exp on;
auth_jwt_validate_iat on;
auth_jwt_validate_sig on;
auth_jwt_validate_sub on;
....
2023-03-30
nginx як проксі для серверів pop3, imap. Додаткова авторизація через ssl client, та блокування у fail2ban.
Задача
Є задача підключити nginx як ssl proxy для служб електронної пошти, з перевіркою авторизації у nginx. Використання nginx дозволить використати сучасні ssl сертифікати, у випадку коли поштові сервіси не можуть це зробити за певних умов. Наприклад коли необхідна додаткова перевірка авторизації через сертифікати ssl клієнта.
|
|
Додаткова авторизація через SSL client certificate. |
Для підтримки авторизації через SSL client certificate сторона сервера посилає додатковий запит клієнту на те що очікує від нього особистого сертифікату. Запит описує чи має бути відновіть від клієнта з особистим сертифікатом клієнту обов'язковим чи за бажанням. Надалі клієнт надсилає, а сервер перевіряє отриманий особистий сертифікат клієнту чи був він виданий певним центром сертифікації (CA) та чи він не був відкликаний, або не слив термін придатності. На цьому перевірка закінчена, будь який дійсний сертифікат виданий центром сертифікації (CA) буде прийнятним для сервера.
2023-03-19
redirect для playlist .m3u8 у nginx для анти кешу браузера у HLS player
Стала задача як форсувати отримання свіжої версії файлу playlist .m3u8 для застуванні у HLS (HTTP Live Streaming) медіа плеєру. Свіжу версію мається на увазі те що вона не буде зчитана з кешу браузера у будь-якому випадку незалежно від заголовків expire.
Вирішення задачі це додавати до імені файлу поточну дату у вигляді додаткового аргументу на кшталт: index.m3u8?m=202303191711.
Використовується Web сервер - nginx.
nginx
time_iso8601
Сформуємо змінну $formatted_date з датою у необхідному форматі. Є вбудована змінна у nginx для дати у форматі ISO8601 $time_iso8601.
Для формування дати у потрібному форматі застосовується послідовність map у контексті http.
![]() |
| map - nginx |
2013-06-14
Nginx, Session, memcached, FreeBSD, memcachedb
#cd /usr/ports/databases/memcachedb #make install cleanrc.conf:
memcachedb_enable="YES"
#/usr/local/etc/rc.d/memcachedb start
#sockstat | grep 11211 nobody memcachedb 70265 15 tcp4 127.0.0.1:11211 *:* nobody memcachedb 70265 16 udp4 127.0.0.1:11211 *:*
2013-06-13
2013-06-10
Nginx, блокуємо доступ по user agents
Інколи треба заблокувати доступ до сайту ботам пошукових системам. Блокувати їх можна за user_agent.
## Block Software download user agents ##
if ($http_user_agent ~* bingbot|AhrefsBot|msnbot|bot) {
return 403;
}
When you forgot your native language you would become a poor at spirit every day ...
Д.Білоус / D.Bilous




