В статье будем рассмотрены варианты защиты nginx от разного рода нападений, атак, а так же улучшений
1) Запрет доступа по IP
Разрешим доступ только через доменное имя:
if ($host !~ ^(host.com|www.host.com)$ ) {
return 444;
}
В статье будем рассмотрены варианты защиты nginx от разного рода нападений, атак, а так же улучшений
1) Запрет доступа по IP
Разрешим доступ только через доменное имя:
if ($host !~ ^(host.com|www.host.com)$ ) {
return 444;
}
Если вы видите такую ошибку, она может означать одно: есть проблемы с модулем httpready. Но решение проблемы делиться на 2 случая:
1) Модули не подгружены.
Проверить загрузку модулей можно так:
$/sbin/kldstat -v | grep accf_http
$/sbin/kldstat -v | grep accf_data
Компиляцию в Solaris можно делать многими способами, но я расскажу о 2-х, на мой взгляд, популярных: SunStudio и gcc.
В базовой поставке эти компоненты отсутствуют, поэтому их придётся ставить отдельно. Но для обеих компонентов будут нужны header’ы и их тоже нужно будет поставить:
#pkg install system/header
Иначе будет ругаться
fatal error: string.h: No such file or directory
Напомню, что в Solaris include-файлы лежат в /usr/include.
Кстати, под Solaris лучше использовать именно SunStudio, а не gcc, так как у первого лучше оптимизация под Solaris.
Представим ситуацию: нужно добавить модуль, без пересборки всего php (так называемый shared модуль). То есть по сути, мы скомпиллируем *.so и просто подгрузим его через php extensions.
Данная статья поможет вам не забыть настроить основные моменты при поднятии нового сервера с нуля. Будут использоваться общие принципы при настройке сервера, не зависимо от назначения (а если есть специфические моменты – они будут оговорены отдельно)
Кстати, статья будет дополнятся, обновляться.
Solaris brand zone – это механизм, который позволяет запускать внутри зоны другие ОС а так же их различные версии. Данная возможность появилась в Solaris 11 и она позволяет запускать Solaris10 и Linux внутри зоны Solaris11.
И так, рассмотрим пример переноса зоны из Solaris10 в Solaris11.
Если появилась задача измерять скорость работы между 2-мя хостами, то лучшего инструмента, чем iperf/ttcp не найти.
Оба этих инструмента нужно запускать с обеих концов проверяемой трассы.
Утилита nice запускает программу, заданную аргументом программа, с
изменённым приоритетом планирования, увеличивая eё значение “nice” на
указанное приращение. Если приращение не указано явно, оно полагается
равным 10. Чем меньше значение nice у процесса, тем более высокий прио-
ритет он имеет.
Суперпользователь может также указать отрицательное приращение, чтобы
запустить программу с более высоким приоритетом.
Для тех, кто имеет 8.3 (а возможно и 9-ку тоже) посвящается.
Если при запуске sockstat вы увидите похожу картину
root syslogd 1028 9 udp4 *:514 *:*
root devd 783 4 stream /var/run/devd.pipe
? ? ? ? tcp4 193.28.177.4:53452 193.28.177.2:3306
? ? ? ? tcp4 193.28.177.4:53959 193.28.177.2:3306
Не волнуйтесь, всё нормально. Просто теперь расширили функционал sockstat, который показывает соединения, которые не принадлежат никаким файловым декстрипторам. Раньше именно это и отличало sockstat от netstat (он их показывал).
Есть замечательная статья http://habrahabr.ru/post/92701/ и в ней описаны моменты, о которых многие наверное и не слышали. Это касается контроля ошибок чтения/записи. Не буду пересказывать статью, а лишь добавлю от себя некоторые моменты:
– SCT параметры можно выставить не на всех диска, даже если они “крутые” или Raid edition и даже если smart сказал вам, что поддерживается.
– Всегда выставляйте таймаут (если диск позволяет) чтения/записи (лучше пускай диск выпадет из raid’a, чем подвиснет сервер). Особенно это касается zfs
– Если smartctl ругается INVALID ARGUMENT TO -l то просто обновите версию smartctl хотя бы до 5.40
Я был свидетелем того, как из-за не установленных таймаутов, подвисали процессы, которые не убивались через kill -9.