четверг, 16 февраля 2012 г.

Настройка прокси сервера с авторизацией за 5 минут

Раньше я думал, что squid сложен в настройке и всячески его избегал. Как оказалось - зря. Настроить HTTP прокси сервер с авторизацией в нём очень просто. Итак, рецепт (проверял на debian, на ubuntu тоже точно работает, в других дистрибутивах нюансы могут отличаться)

Установка

Тут как обычно:

$ sudo apt-get install squid

Настройка

Файл конфигурации squid находится в /etc/squid/ и называется squid.conf. Следующие параметры в нём заслуживают внимания:

http_port 3128 - устанавливает порт, по какому будет слушать squid.
http_access deny all - устанавливает права доступа

Если необходимо настроить прокси без авторизации - то достаточно просто изменить http_access с deny all на allow all и перезапустить squid. Так как нам нужен прокси с авторизацией, то ничего не трогаем и идем дальше. Находим секцию auth_param и добавляем туда:

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd

Эта строка указывает squid, какой модуль использовать для авторизации и в каком файле искать логины и пароли.

Создадим файл с логинами и паролями:

$ sudo htpasswd -c /etc/squid/passwd drakmail
Enter a password for user 'drakmail':
Again:
$ sudo htpasswd /etc/squid/passwd mag
Another password:
Again:

Далее, настроим права доступа. Для этого в секцию ACL надо добавить следующие строки:

acl magUser proxy_auth mag
acl drakmailUser proxy_auth drakmail
http_access allow magUser
http_access allow drakmailUser

После этого остаётся только перезапустить squid:

sudo /etc/init.d/squid restart

И наслаждаться настроенным прокси.

Обработка нажатий вложенного div в javascript

Недавно встала задача по обработке событий onClick для 2-х div'ов - один вложен в другой. Пример:

Мне нужно было обрабатывать нажатия по коричневому div'у (который был вложен в синий div) так, чтобы onClick для синего div'а не срабатывал. Мне помог этот тред на javascript.ru.

Ну и вот пример:

 
<div id="parent" style="width: 200px;height:200px;background-color: #0000aa;">
    <div id="nested" style="width:100px; height:100px; background:#CC6600;">
    </div>
</div>
<script>
    $("#parent").click(function() {alert("parent");});

    $("#nested").bind("click", function(e) {
        alert('nested');
        stop_bubbling(e);
    });
    
    function stop_bubbling(e) {
        if (e.stopPropagation) e.stopPropagation();
        else e.cancelBubble = true;
    }
</script>

четверг, 2 февраля 2012 г.

Аренда серверов left 4 dead 2

Всем читателем моего бложка посвящается — открыто публичное бета-тестирование аренды серверов Left 4 Dead 2 по невероятно низким ценам. Наши серверы расположены в Германии и Москве, укомплектованы мощным аппаратным обеспечением и работают на Debian Linux 6.0.4. По требованию мы предоставляем выделенные IP. Цены — от 100р. в месяц. Бесплатная техническая поддержка и консультации.

Только на период бета-тестирования (до 23.02.12) — скидка 5%! Для получения скидки необходимо при заказе ввести код купона MEFROMBLOG.

Более подробная информация и заказ