Самый простой ремонт

9/Апрель/2025 walker-h2

Hi-Fi Walker H2 4344x3014 IMG_20250409_walker-h2.jpg
Walker H2

Ремонт плеера Hi-Fi Walker H2 с проблемой - греется и не включается.
При тряске слышны шумы деталей внутри.

Самый простой ремонт...

Почему стандартные плагины jekyll далеки от идеала

11/Март/2025 jekyllstructured-datanginx

В этой заметке я не буду приводить полный код для всех компонентов, только дам сниппеты и подсказки, на что стоит обратить внимание при сборке сайта на jekyll.

Jekyll Structured Data and sitemap.xml 1535x697 jekyll-structured-data-sitemap-and-nginx.png
Jekyll Structured Data and sitemap.xml

Время модификации файла

Каждая страница имеет как минимум три точки отображения временной отметки в разных файлах, элементах страницы или ответе сервера, и все они должны быть одинаковыми.

  • ld+json "dateModified": "2025-03-07T15:43:42+00:00"
  • sitemap <lastmod>2025-03-07T15:43:42+00:00</lastmod>
  • headres last-modified: Fri, 07 Mar 2025 15:43:42 GMT
Почему стандартные плагины...

Блок головок жёсткого диска

22/Октябрь/2024 hdd

Блок магнитных головок 4032x3024 24-04-26_13-47-18.jpg
Блок магнитных головок


Блок головок жёсткого диска с четырьмя пластинами — 8 магнитных головок, для двустороннего чтения/записи информации с пластин.

Блок головок жёсткого...

Сгоревший SpaceX Starlink

1/Сентябрь/2024 starlink

Плата роутера Starlink
Плата роутера Starlink 4032x3024
24-09-01_14-53-38.jpg
Плата роутера Starlink
Плата роутера Starlink 4032x3024
24-09-01_14-54-23.jpg
Плата роутера Starlink
Плата роутера Starlink 4032x3024
24-09-01_14-54-42.jpg


Сгоревший SpaceX Starlink...

Token-based лимитирование количества подключений

22/Июнь/2024 nginx

Nginx - аутентификация на основе токенов 1600x896 nginx_api_token.png
Nginx - аутентификация на основе токенов

Все знают про лимиты количества подключений с одного IP (IP-based), но что делать, если мы хотим ограничить количество подключений к некому API на один токен авторизации?
И не важно, сколько разных IP будет использовано.

Часть конфига nginx:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
map $request_uri $client_token {
    "~*(?i)(token=)([a-f0-9]{32})" $2;      # regex return <32str>
    default                        "";      # Fallback to limit_req_zone:global
}

limit_req_zone  $binary_remote_addr   zone=global:32m       rate=100r/s;    # Rule_1
limit_req_zone  $client_token         zone=tokenlimit:32m   rate=5r/s;      # Rule_2
limit_req       zone=global           burst=25;

server {
        location / {
            index index.html;
            root /var/www/html;
        }
        location = /api {
            index index.html;
            root /var/www/api/html;
            limit_req   zone=tokenlimit   burst=5 nodelay;  # api location
            limit_req   zone=global;                        # Fallback
            limit_req_status              429;              # 503
Token-based лимитирование количества...
Страница 7 из 16