Авторизация клиентов в nginx посредством SSL сертификатов

Введение:

Потребовалось мне тут как-то написать небольшой API, в котором необходимо было помимо обычных запросов принимать запросы с «высокой степенью секретности».
Не я первый с этим столкнулся и мир давно уже использует для таких вещей SSL.

Поскольку моём на сервере используется nginx, то был установлен модуль SSL
Гугл не выдал ни одного работоспособного howto, но информация в сети есть по частям.

Итак, пошаговое руководство по настройке nginx на авторизацию клиентов через SSL-сертификаты.

Читать дальше →

Сервер iRC за 5 минут

Лирическое отсупление:

В незапамятные времена, установив программу eMule, решил забраться на канал поддержки, пообщаться с пользователями. С тех пор началось мое знакомство с iRC. Как ни странно, до сих пор такой способ коммуникации пользуется популярностью. Недавно потребовалось организовать в локальной сети небольшой чат, поэтому мой выбор пал на связку UnrealiRCd и Anope, как более привычную и удобную по функциональности.

Читать дальше →

Интерфейсы ядра cовременного сайта

К написанию этой статьи меня сподвигла работа над порталом для министерства некой «незалежной» страны. Я выполнял роль сторонего разработчика модулей, поэтому работать пришлось с чужим движком.
По некой причине, система не должна была иметь предшественников, поэтому писалась строго с нуля, включая и концепцию. Вот эта самая концепция и повергла в шок. Точнее её отсутсвие во многих моментах. Проверка доступа? — Сделаем позже, не морочь голову. AJAX? — будет завтра. А лучше делай как тебе удобнее. POST? — Обработай в контролере.
После этого и возникла мысль: «А всё таки, какие интерфейсы, транспорты, должно поддерживать современное ядро сайта?». Здесь я небуду распостранятся о низкоуровневой реализации этих интерфейсов, просто пройдусь по логике работы.

Читать дальше →

Отказоустойчивый производительный кластер для Java приложений

Со времени запуска проекта прошло некоторое время и настало время наращивать вычислительные мощности для работы приложения. Было принято решение построить для этого высокодоступный отказоустойчивый и производительный кластер, который в дальнейшем можно будет легко масштабировать. Таким образом нам надо настроить отказоустойчивый кластер для распределения запросов между серверами приложений.

Для этого мы будем использовать 4 сервера на Linux CentOS 5.5, а так же Apache, Tomcat6, mod_jk, heartbeat.
web1, web2 сервера — для распределения запросов средствами Apache и отказоустойчивости средствами Heartbeat. app1, app2 сервера — Tomcat сервера для Java-приложения.

Читать дальше →

Новые шрифты для Ubuntu

Возможно, кто-то замечал, что шрифты в Ubuntu рендерятся слегка более жирными, по сравнению с Windows 7 (метод рендеринга ClearType). Особенно это касается жирных начертаний. В Ubuntu я не нашел гибкой настройки рендеринга шрифта, поэтому пришла идея сделать сами шрифты более тонкими. Ниже можно посмотреть скриншот, а также скачать и установить тонкие версии шрифтов Liberation и Ubuntu.

Читать дальше →

Генерация HTML в PDF через wkhtmltopdf

PHP
image
К написанию данной статьи меня сподвиг следующий пост.
Пришлось мне как-то столкнуться с задачей генерирования pdf файла из имеющейся страницы сайта. Заказчик хотел, что бы у посетителя была возможность получить в pdf текущую страницу его интернет-магазина. Причем получить именно в том виде, который лицезреет клиент, только без заголовка и шапки сайта. Пример буду описывать для сайта на системе управления Битрикс, поскольку именно на нем был сайт, для которого создавался функционал.

Читать дальше →

XBMC: Делаем красиво

Предыстория

В моей домашней сети XBMC стоит на Windows7. Поэтому все, что сейчас будет описываться, относится только к данной системе. Думаю про установку XBMC рассказывать не нужно. Об этом уже достаточно топиков на хабре.
Безусловно оболочка Confluence хороша, и простояла в качестве дефолта на моей машине долгое время. Но со временем захотелось чего-то более элегантного. Мой выбор пал на скин Aeon65. И тут начались танцы…

Читать дальше →

Использование LESS в MODx

Возникла задача использовать LESS в MODx, при этом весьма не хотелось каждый раз после изменения исходного LESS-файла повторно компилировать его вручную, в результате чего и было решено написать соответствующий сниппет. О чем, собственно, и пост.

Читать дальше →

Как попасть в Chrome Web Store или пишем расширение

Предисловие

Морозным субботним утром, как обычно читая твиттер и попивая горячий кофе, задумался я о синей полосе вверху страницы, предлагающей пользователям опробовать новый интерфейс, который намного лучше нынешнего, но частенько выводящий ошибки о загруженности сервиса. От этого баннера никак нельзя было избаваиться, вот так и родилась идея написания расширения для Google Chrome. Попытаюсь вкратце изложить о том, как я создавал свое первое расширение и регистрировался в Google Web Store.
image

Читать дальше →

Кассовый узел на Linux

Большинство современных кассовых узлов делается на базе персонального компьютера и фискального регистратора. Это как минимум удобно для кассира, да и в плане товароучета, гораздо удобнее традиционной «кассы».

В моем случае, список оборудования был такой:
1. Фискальный регистратор FPrint 5200К
2. Клавиатура POSua LPOS -064P
3. Дисплей покупателя Posiflex PD-2800

В качестве монитора используется обычный 15" офисный монитор. Компьютер, для управления всем этим оборудованием, собрал на базе платформы Foxconn NT410-A-B-AE-QB. Это такой неттоп на базе Intel Atom D410 (1.66GHz), без памяти и диска. Память поставил 2Gb, диск 250GB. На самом деле столько памяти и диска не надо, но другого в наличии не было.

Читать дальше →