Категорії
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” заголовка запроса, или имя сервера, соответствующего запросу
Категорії
Linux

[linux] Слушаем “не свои” интерфейсы

# sysctl net.ipv4.ip_nonlocal_bind=1

Данная опция позволяет bind на не свои IP-адреса.

Где используется:

  • LoadBalancing (keepalived)
  • тестирование
Категорії
Solaris

[solaris] История о слетевшем загрузчике

Был один сервер и на нём, в зеркальном пуле вывалился один из дисков. В момент замены и процесса перестроения вылетает второй диск. Немного не штатная ситуация, но я дождался окончания перестроения, удалил файлы, на которые ругался пул, сделал ему scrub, ошибки с диска пропали, но пул всё равно в состоянии degraded (так как диск второй вылетел). Выключаю сервер, меняю диск и тут на тебе: не грузится (не найдет загрузочный диск).

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

REUSEPORT

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

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

Категорії
FreeBSD

[openzfs] Ускоряем resilver/scrub/destroy

Если значения по умолчанию вам не очень подходят:

int zfs_top_maxinflight = 32;           /* maximum I/Os per top-level */
int zfs_resilver_delay = 2;             /* number of ticks to delay resilver */
int zfs_scrub_delay = 4;                /* number of ticks to delay scrub */
int zfs_scan_idle = 50;                 /* idle window in clock ticks */
int zfs_scan_min_time_ms = 1000;        /* min millisecs to scrub per txg */
int zfs_free_min_time_ms = 1000;        /* min millisecs to free per txg */
int zfs_resilver_min_time_ms = 3000;    /* min millisecs to resilver per txg */
int zfs_no_scrub_io = B_FALSE;          /* set to disable scrub i/o */
int zfs_no_scrub_prefetch = B_FALSE;    /* set to disable srub prefetching */
Категорії
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');

Категорії
Solaris

[Solaris] Быстрая правка pkg-пакета

Если пакет в формате pkg.

Распаковываем пакет в папку test

$ pkgtrans mysql-utilities-commercial-1.6.5-solaris11.pkg test/

Внутри пакета находится папка reloc с иерархическим содержимым файлов пакета, файл pkginfo с описанием пакета и pkgmap – файлом, и манифестом pkgmap.

Категорії
DataBases

[mysql] pt-table-sync: проверяем и устраняем рассинхрон между базами/таблицами

Для тех, кто не знает, есть замечательный набор утилит для администрирования баз данных mysqlpercona tools . В данной статье хотелось бы рассказать не обо всех утилитах, а только о pt-table-sync. Если кратко – то она позволяет узнать рассинхрон между базами/таблицами и, если есть, то устранить его.

Для своей работы, она потребует отдельного юзера с очень расширенными правами (CREATE, DROP, ALTER,…). Если какое-то право не дали – то pt-table-sync об этом скажет.

Категорії
Juniper

[Juniper] SRX 550: VPN (Pulse Secure) + LDAP auth

Step 1. Configure Dynamic VPN Users and IP Address Pool

set access profile Dynamic-XAuth client Jed firewall-user password P@ssw0rd
set access profile Dynamic-XAuth address-assignment pool Dynamic-VPN-Pool
set access address-assignment pool Dynamic-VPN-Pool family inet network 10.14.0.0/24
set access address-assignment pool Dynamic-VPN-Pool family inet xauth-attributes primary-dns 10.0.0.10/32
set access firewall-authentication web-authentication default-profile Dynamic-XAuth

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