Контролируемая скачивание, реализуемое в веб сервере Nginx с использованием заголовка X-Accel-Redirect, подразумевает следующий алгоритм отдачи контента:
- Клиент нажимает на ссылку "скачать файл"
- Зпрос передается веб серверу Nginx
- Nginx в свою очередь передает запрос некоему скрипту на проверку
- Скрипт, после проверки, например валидности запроса на скачивание, возвращает запрос в Nginx, устанавливая заголовок X-Accel-Redirect
- Запрос с заголовком X-Accel-Redirect попадает в специальный внутренний location, сервера Nginx, откуда и отдается клиенту
|
FreeBSD – свободно распространяемая, Unix-подобная операционная система с открытым исходным кодом. Является потомком AT&T Unix, ответвление BSD, образовавшееся в Калифорнийском университете в Беркли. Работает на PC-совместимых системах x86, в том числе Microsoft Xbox, а также на DEC Alpha, Sun UltraSPARC, IA-64, AMD64, PowerPC, NEC PC-98, ARM.
| |
|
В одной и предыдущих статей, обсуждались штатные средства операционной системы FreeBSD для резервного копирования и восстановления данных, программы Dump и Restore. В данном материале разговор пойдет о программе Mysqldump, использующейся для резервного копирования баз данных MySQL, а так-же о восстановлении из резервных копий с помощью консольного клиента, программы mysql.
|
Код состояние HTTP, это часть строки заголовка, ответа веб сервера на запрос клиента, информирующая о результате запроса и о том, что клиент должен предпринять далее. Думаю не все знают как выглядит заголовок ответа сервера, зато уверен, каждый, пользующийся интернетом, не раз сталкивались, со страницей 404 Not Found или 403 Forbadden. Это и есть, видимый пользователю результат, выдачи сервером, того или иного кода статуса в строке заголовке.
|
Балансировка нагрузки и отказоустойчивость в Nginx, реализуется с помощью специального модуля ngx_http_upstream. Директива upstream позволяют организовывать группы серверов ( апстрим ), распределяя между ними запросы для проксирования в дмрективах proxy_pass и fastcgi_pass. Кроме того, это дает Nginx возможность, реагировать на нештатные ситуации в апстриме, например, в случае выхода из строя одного или нескольких серверов из группы, запрос будет отправлен на следующий, работающий сервер апстрима.
|
В предыдущей статье Установка и настройка веб сервера Nginx в качестве проксирующего фронтэнда к Apache, был рассмотрен простой вариант установки и использования веб сервера Nginx, с настройками по-умолчанию, в качестве проксирующего сервера, с веб сервером Apache как бакэнда.
В данном материале хотелось-бы рассказать о более сложном варианте установки и настройки веб-сервера Nginx, для построения связки Nginx - Apache - FastCGI. Для организации FastCGI сервера, будет использована утилиты, spawn_fcgi, ранее вхдившая в состав веб-сервера lighttpd, теперь выделенная в отдельный порт.
|
Итак, в предыдущей статье, Веб сервер Nginx, обзор функциональных возможностей, речь шла об основных функциональных возможностях веб сервера Nginx, а так-же затронут вопрос его использования в качестве проксирующего фронтенд-сервера в связке с веб сервером Apache. Здесь хотелось-бы рассказать о практической стороне вопроса, то есть перейти непосредственно к установке и настройке вышекпомянутой связки, Nginx - Apache. Так как всем остальным *nix системам, я предпочитаю FreeBSD, на ней и будем все это поднимать.)
|
Nginx - небольшой по размерам, очень быстрый, достаточно функциональный веб-сервер и почтовый прокси-сервер, разработчик Игорь Сысоев ( rambler.ru ). Из-за очень маленького потребления ресурсов системв и скорости работы, а так-же гибкости конфигурирования, веб сервер Nginx часто используется в качестве фронтэнда к более тяжеловесным серверам, такими как Apache, в проектах с высокой нагрузкой. Уже классическим вариантом, стала связка, Nginx + Apache + FastCGI. Работая в такой схеме, сервер Nginx, принимает все запросы приходящие по HTTP, и в зависимости от конфигурации и собственно самого запроса, решает, обработать-ли запрос самому и отдать клиенту готовый ответ или отправить запрос на обработку, одному из бакэндов ( Apache или FastCGI ).
|
В двух предыдущих статьях, SSH сервер и SSH клиент, мы более-менее раскрыли тему, протокола SSH, настройки и использования, серверной и клиентской, частей SSH в операционной системе FreeBSD. В данной статье хотелось-бы рассказать об аутентификации на основе ключей, заодно рассмотреть остальные программы из пакета программного обеспечения, протокола SSH, под FreeBSD.
|
Как было сказано в предыдущей статье "Безопасный сетевой протокол SSH, настройка SSH сервера", SSH, представляет из себя не только защищенный сетевой протокол, но и набор программных средств для работы с ним. Так-же были рассмотрены основные принципы обеспечения безопасности при работе по протоколу SSH, возможные способы аутентификации, а так-же, вопросы настройки и запуска SSH сервера в операционной системе FreeBSD. Напомню, что программой сервером, в программном пакете OpenSSH, является демон SSHD.
Настало время поговорить о второй, так сказать, половинке модели клиент-сервер, пакета SSH. Программой клиентом протокола SSH, является одноименная утилита, /usr/bin/ssh.
|
SSH ( Secure Shell - Защищенная оболочка ) -- это сетевой протокол, обеспечивающий защищенную аутентификацию, соединение и безопасную передачу данных между хостами сети, путем шифрования, проходящего через него трафика, с возможной компрессией данных. Еще одной важной функциональной особенностью, является возможность создания защищенных, шифрованных туннелей, для безопасной передачи через небезопасную среду ( например интернет ), других сетевых протоколов, так-же с возможность сжатия трафика. Кроме того протокол SSH отлично работает с форвардингом ( переадресация, перенаправление ) портов одной машины на порты другой в том числе и форвардинг удаленных клиентов XWindow.
Сейчас протокол SSH, является стандартом, и широко используется, например, для удаленного администрирования серверных систем, то есть выполнения различных команд и манипуляций в оболочке сервера через безопасное соединение, копирования файлов через сеть, вроде резервных копий данных.
|
Собственно, что такое порт в контексте операционной системы FreeBSD.
Основное дерево портов FreeBSD, расположено в директории /usr/ports. Порт в операционной системе FreeBSD, это папка с мимнимальным набором файлов, скелетом, необходимых для нахождения и скачиванния на локальную машину исходных текстов программного обеспечения, его конфигурирования, компиляции и наконец установки уже готовой программы в соответствующие каталоги. Все эти манипуляции выполняются утилитой make, с использованием файлов, содержащихся в порте. Файлы порта представляют из себя сценарии, записанные в обычные текстовые файлы. Как правило порт состоит из нескольких файлов:
|
Вероятно, одной из самых часторешаемых задач, в процессе администрирования, является управление учетными записями пользователей. За выражением "управление учетными записями пользователей", скрывается целый ряд действий, осуществляемых администратором системы, настройка классов пользователей, создание учетных записей пользователей, изменение учетных записей, удаление или блокировка учетных записей, управление пользовательскими паролями, управление группами. Операционная система FreeBSD, предоставляют удобные инструменты, для облегчения жизни администратору сервера.
|
Как и в любой многопользовательской системе, в операционных системах Unix, есть механизм управления доступом пользователей к тем или иным ресурсам системы ( процессорное время, память, файлы, директории и прочее ). Основными участниками данного механизма являются: Пользователь ( user ), Группа ( group ), Другие ( Other ), основными правами доступа в Unix, являются:
- права доступа на чтение;
- права доступа на запись;
- права доступа на выполнение;
Соответственно, в операционых системах Unix, права доступа и участники, сгруппированы три по три, read/write/execution для user/group/other.
Кроме вышеупомянутых прав доступа, операционные системы Unix, поддерживает файловые флаги, для обеспечения дополнительного уровня защиты, контроля и управления объектами системы. Например, с помощью флагов, можно запретить удаление файла, даже пользователю root.
|
Трудно переоценить роль резервного копирования на сервере, когда речь идет о целостности и сохранности данных. Информация может быть утеряна разными способами и по разным причинам, удалена или испорчена случайно, сервер может быть взломан и информация уничтожена злонамеренно, в конце концов жесткие диски могут и умирать. Встроенные во FreeBSD, системные утилиты Dump и Restore, являются одним из самых надежных и безопасных средств резервного копирования в Unix системах, это неотъемлемый инструмент любого системного администратора, призванный, если и не восстановить данные в полном объеме, то хотя-бы вернуть то, что было сохранено и смягчить возможные последствия от потери информации.
|
GRE – Сетевой протокол от компании CISCO Systems для туннелирования соединений, путем инкапсуляции пакетов сетевого уровня в IP пакеты. С помощью протокола GRE создается непрерывное соединение между двумя узлами ( маршрутизаторами ), через общедоступную сеть. Протокол GRE может быть использован для создания простой частной сети (VPN), между пользователями, подключенными через сеть провайдера, или между пограничными маршрутизаторами с среде провайдера, для обмена обновлениями таблиц маршрутизации.
|
Итак, имеем nginx в качестве фронтэнда, на бакэндах apache и какой-нибуть fastcgi (spawn-fcgi или php-fpm). Функциональные возможности серверов, nginx и apache, несколько различаются, и одно из различий как раз в том, что nginx не поддерживает обработку файлов htacces, которые а apache используются практически повсеместно. Большинство сайтовых движков (CMS), поддерживают возможность генерировать так называемые ЧПУ(человекопонятный урл, в оригинале, SEF - search engines friendly url), но для этого, веб сервер, должен обрабатывать строку запроса определенным образом, что apache и делает с помощью mod_rewrite и правил в файле htaccess. Задача: заменить правила htaccess, соответствующими директивами в конфиге nginx.
|
|