Архив за год: 2018

NGINX: gzip и ETag weak validation

20 сентября 2018
 

  ETag Собственно сам ETag является идентификатором ресурса, запрошенного клиентом (браузером): если изменений нет, то etag не меняется, если изменения были — изменится и его etag. См. тут>>>, тут>>> и тут>>>. Пример его работы — проверяем URL: [simterm] $ curl -I etag.rtfm.co.ua HTTP/1.1 200 OK Server: nginx/1.10.3 … ETag: «5ba22fcb-6» Accept-Ranges: bytes [/simterm] Теперь добавляем —header If-None-Match, в… Читать далее »

Linux: не срабатывает crontab

18 сентября 2018
 

 Добавлены задачи для cron, но они не выполняются, и в логах ничего нет. Файлы добавлены в файле /var/spool/cron/crontabs/admin: # Puppet Name: proj1/trending/daily 0 21 * * * cd /data/dme && php yii proj1/trending/daily # Puppet Name: proj1/cron/go * * * * * cd /data/dme && php yii proj2/cron/go >> /var/log/dme-cron/proj1-cron.log 2>&1 # Puppet Name: proj1/sitemap/last-posts */5 *… Читать далее »

Linux: The file or folder udi=/org/kde/solid/udev/sys/devices/***/usb1/1-2 does not exist.

13 сентября 2018
 

 Проблема, судя по гуглу, не специфична для Arch Linux, решение должно подойти для любой системы. Подключаем телефон: Sep 12 11:44:57 setevoy-arch-work kernel: usb 1-2: new high-speed USB device number 12 using xhci_hcd Sep 12 11:44:57 setevoy-arch-work kernel: usb 1-2: New USB device found, idVendor=0bb4, idProduct=0c93, bcdDevice= 2.28 Sep 12 11:44:57 setevoy-arch-work kernel: usb 1-2: New… Читать далее »

Chrome: вернуть нормальный вид — отключить Material design

12 сентября 2018
 

 UPD 14.12.2018 Всё — этот метод больше не работает: в версии 71 флаги были удалены. Обсуждение на Reddit. Порадовал комментарий: I hate Material design on desktop, why you mongoloids forcing me to use it? What is wrong with you? В Chrome/Chromium версии 69 появился новый дизайн интерфейса: Новый дизайн на мой вкус — ужасен. Что… Читать далее »

MySQL: Exception message: (1049, \»Unknown database ‘mysql’\»)

11 сентября 2018
 

 Баловался с MySQL, и перед переустановкой сервера удалил директорию /var/lib/mysql (намеренно). После этого переустановил MySQL: [simterm] # apt install mariadb-server —reinstall [/simterm] Но при попытке выполнить действие — Ansible сообщает: FAILED! => {«changed»: false, «msg»: «unable to connect to database, check login_user and login_password are correct or /root/.my.cnf has the credentials. Exception message: (1049, \»Unknown… Читать далее »

Ansible: with_fileglob — копирование нескольких шаблонов из директории

10 сентября 2018
 

 Необходимо скопировать пачку файлов — задач для supervisord. В Ansible используем with_fileblob: … — name: «Copy supervisor tasks» template: src: «{{ item }}» dest: «/etc/supervisor/conf.d/{{ item | basename | regex_replace(‘.j2’,») }}» owner: «root» group: «root» mode: 0644 with_fileglob: — templates/*.j2 … С помощью фильтра basename — получаем имя файла из {{ item }}, а с… Читать далее »

AWS: CloudFormation — ‘templateBody’ failed to satisfy constraint: Member must have length less than or equal to 51200

6 сентября 2018
 

 Имеется CloudFormation стек. Сначала создавался Dev-стек, к которому понемногу добавлялись новые ресурсы, всё это тестилось, и в конце-концов заработало. После этого — пришла пора выкатывать Production-стек, и вдруг… ‘templateBody’ failed to satisfy constraint: Member must have length less than or equal to 51200. Щито? 🙁 Проверяем лимиты CloudFormation: Template body size in a request Maximum… Читать далее »

AWS: CloudFormation — создание S3 Website hosting и CloudFront distribution

5 сентября 2018
 

 Пример создания хостинга статического сайта в AWS S3 и подключении к нему AWS CloudFront CDN, к которому подключается SSL сертификат из AWS ACM. Для сайта используем домен site.azinchenko.com. Получившийся шаблон доступен в репозитории тут>>>. AWS::S3::Bucket Начнём с создания корзины, используем ресурс AWS::S3::Bucket: { «AWSTemplateFormatVersion»: «2010-09-09», «Description»: «AWS CloudFormation S3 website hosting with CloudFront CND stack»,… Читать далее »

AWS: Application Load Balancer — HTTP => HTTPS и host-header редиректы

30 августа 2018
 

 Имеется Application Load Balancer, за которым находятся три хоста: два фронтенда, и один master. Задачи следующие: добавить редиректы HTTP => HTTPS добавить редиректы доменов dev.admin.dme.example.com на master-хост, а остальных — на frontend-хосты добавить редиректы www <=> non-www Редирект HTTP на HTTPS Тут столкнулся с очередным «подарком» от AWS CloudFormation: After checking our internal information, the newly… Читать далее »

Linux: weechat — консольный IRC клиент

28 августа 2018
 

 Понадобилась «помощь зала» по одной баге в AWS, решил поспрашивать в IRC на Freenode. IRC клиента на машине нет, ибо пользуюсь им крайне редко, нагуглил приятный консольный клиент — weechat. Устанавливаем: [simterm] $ sudo pacman -S weechat [/simterm] Запускаем: [simterm] $ weechat [/simterm] Добавляем сервер: [simterm] /server add freenode chat.freenode.net [/simterm] Получаем список настроенных в… Читать далее »