Категорії
Misc, staff, other WWW

[nginx] rewrite: $host or $server_name

Очень часто это является проблемой при построении редиректов, когда у вас больше 1 домена. Следующая конструкция выглядит работоспособной:

return 301 https://$server_name$request_uri;

Всё работает, когда у вас всего 1 домен в server_name. А когда 2 и больше, то для них redirect работает не правильно (он редиректит на самый первый домен в server_name). А всё потому, что нужно вместо $server_name использовать хост. В документации написано следующее:

  • $server_name: имя сервера, принявшего запрос
  • $host: в порядке приоритета: имя хоста из строки запроса, или имя хоста из поля “Host” заголовка запроса, или имя сервера, соответствующего запросу
Категорії
Misc, staff, other

REUSEPORT

Что такое REUSEPORT? Если кратко, то в много поточном приложении позволяет каждому потоку напрямую привязаться к tcp socket’y (адрес:порт). Это позволяет быстрее принимать пакеты (без REUSEPORT пришлось бы получать пакеты через мастер-процесс).

В статье рассмотрим, как можно узнать/понять, использует ли ваше приложение REUSEPORT штатными средствами ОС. О том, как обстоит поддержка REUSEPORT в разных ОС написана очень неплохая статья, но вот касательно Solaris данные там устаревшие.

Категорії
Misc, staff, other WWW

[nginx] Linux и reload: нюансы

Цитату взял с рассылки про nginx и привожу как есть:

С reload’ом на Linux’е имеется достаточно типичная проблема: в
отличие от других операционных систем, linux не позволяет
одновременно открыть listen-сокеты на *:80 и <ip>:80.

Категорії
Misc, staff, other WWW

[atlassian] Добавить локального пользователя через базу

Все действия рекомендуется проводить при выключенных сервисах atlassian. Если время downtim’a критично, тогда сделать необходимые изменения и перезапустить сервис.

Confluence

– добавляем пользователя admin (ошибка возможна в случае дубликата id, соответственно нужно прописать уникальный) с паролем sphere:

insert into cwd_user(id, user_name, lower_user_name, active, created_date, updated_date, first_name, lower_first_name, last_name, lower_last_name, display_name, lower_display_name, email_address, lower_email_address, directory_id, credential) values (1212121, 'admin', 'admin', 'T', '2009-11-26 17:42:08', '2009-11-26 17:42:08', 'A. D.', 'a. d.', 'Ministrator', 'ministrator', 'A. D. Ministrator', 'a. d. ministrator', 'admin@example.com', 'admin@example.com', (select id from cwd_directory where directory_name='Confluence Internal Directory'), 'uQieO/1CGMUIXXftw3ynrsaYLShI+GTcPS4LdUGWbIusFvHPfUzD7CZvms6yMMvA8I7FViHVEqr6Mj4pCLKAFQ==');

insert into user_mapping values ('2c9681954172cf560000000000000001', 'admin', 'admin');

Категорії
Misc, staff, other Routers, GW, Internet

TRex – генератор трафика

Бесплатный stateful и stateless генератор клиентского и серверного трафика L4-L7, масштабируемый до цифр в 400 Гбит/сек на одном сервере. Данный инструмент может использоваться для тестирования и сравнения различных сетевых решений, включая и область кибербезопасности, — DPI, МСЭ, IPS, NAT, балансировщики нагрузки, кеширующие сервера.

Официальный сайт  https://trex-tgn.cisco.com

Категорії
Misc, staff, other Solaris

[Solaris] awk + regexp

Столкнулся с тем, что под Solaris awk не понимает нормально regular expressions. К примеру, квантор повторения {1,3} не работает. После гугления нашёл заметку:

The default awk on Solaris is old, broken awk which should never be used by anyone for any reason. nawk is much better than /usr/bin/awk but is still a very old, non-POSIX awk, and so does not support RE intervals. Almost any other awk will work. On Solaris if you don’t have and can’t install GNU awk then use /usr/xpg4/bin/awk as it’s very close to POSIX compliant and does support RE intervals.

В итоге, заработало в такой конструкции (gawk (gnu awk) + опция posix):

echo "test 1.1.1.1" | gawk --posix '{if ($2 !~ /^127.0.0.1/ && $2 ~ /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]/) print $2 }'

Категорії
Misc, staff, other Security

[openvpn] Подмена шлюза для хоста

Не знал как назвать заметку, поэтому опишу суть: есть внешняя подсеть 1.1.1.0/24, которую нужно роутить через VPN. Но вот незадача, в этой же подсети находится сам VPN сервер, поэтому, если мы просто пропишем

push "route 1.1.1.0 255.255.255.0"

Категорії
Misc, staff, other

vim/sed regexp

Формат регулярных выражений в vim’e/sed’e немного отличается от привычный PCRE. И вот чем:

  • нужно экранировать скобки
  • переменные подстановки $1, $2 ,… заменены на \1, \2,…

Пример.

Выражение

:%s/\(\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}\)/\1 port = 80/g

заменяет строку

XX.XX.XX.XX

на

XX.XX.XX.XX to any port = 80

Хотя в PRCE это выглядело б так:

(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1.3})/$1 port = 80/g

А вот пример для sed’a:

sed 's/\t/ /g' dev | egrep 'IN A|IN CNAME' | sed -e 's/\(^[^ ]*\)\(.*\)/\1\.dev \2/'

Категорії
Misc, staff, other

[atlassian] Нюансы установки и использования

1)

Problems calling function 'cru:renderHeader'. Required plugin module com.atlassian.plugins.atlassian-nav-links-plugin:rotp-menu was either missing or disabled

Описание: Здесь может быть ругань на любой плагин. Скорее всего не хватило времени на подгрузку всех модулей.

Категорії
Misc, staff, other

[zabbix] Примеры инсталяций

Все примеры взяты из реальных инсталяций, про которые рассказывали на zabbixconf 2017.

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP