UMGUM.COM (лучше) 

Router configuration ( Используемый мною файл Router-конфигурации XMPPсервера Jabberd2. )

17 июля 2012  (обновлено 25 января 2017)

Эта публикация отнесена в архив. Она неактуальна.

Эта публикация скрыта. Она доступна только по прямой ссылке.

Далее полное содержимое используемого сервером "мгновенных сообщений" (на основе протокола XMPP, установка и настройка которого рассматривается в публикациях выше) конфигурационного файла ядра сервера.


<!-- Router configuration -->
<!-- настройки ядра XMPP-сервера -->
<!-- далее, "ядро XMPP-сервера", пишется как "ядро" -->

<router>
  <!-- Идентификатор модуля, используя который другие модули могут у нему подключатся (default: router) -->
  <id>router</id>

  <!-- Адрес PID-файла (в нём фиксируется ID процесса) -->
  <pidfile>/var/jabberd/pid/router.pid</pidfile>

  <!-- Настройки журналирования (поддерживаемые типы: "syslog", "file" или "stdout") -->
  <log type='file'>
    <file>/var/jabberd/log/router.log</file>
  </log>

  <!-- Настройки сетевых подключений -->
  <local>
    <!-- Перечисляем IP-адреса несущего сервера, которые будут прослушиваться (default: 0.0.0.0) -->
    <ip>127.0.0.1</ip>

    <!-- Указываем порт, который будет прослушиваться модулем (default: 5347) -->
    <port>5347</port>

    <!-- Указываем имя файла, содержащего перечень пользователей, используя реквизиты которых модули могут аутентифицироваться, подключаясь к ядру -->
    <users>/usr/local/etc/jabberd/router-users.xml</users>

    <!-- В дополнение к способу доступа путём аутентификации с помощью логина и пароля из перечня обозначенного выше укажем пароль, используемый для упрощённой идентификации компонентов, работающих по спецификации XEP-0114 (таких, как mu-conference, например)-->
    <secret>strongPassword</secret>

    <!-- Файл, содержащий SSL-сертификат и закрытый ключ, используемые для шифрования подключений модулей к ядру -->
    <pemfile>/usr/local/etc/jabberd/server.pem</pemfile>
  </local>

  <!-- Настройки контроля активности соединений -->
  <check>
    <!-- Установим интервал (в секундах) проверки активности соединений. По таймеру будут запускаться описанные далее тесты (для отключения функционала следует значение установить в "0") -->
    <interval>60</interval>

    <!-- Активный тест: устанавливаем интервал (в секундах), по истечении которого по соединению не проявляющему активности будет отправлен одиночный символ; если на отправленный запрос не придёт ответа, то TCP-соединение будет закрыто (для отключения функционала следует значение установить в "0") -->
     <keepalive>60</keepalive>

  </check>

  <!-- Настройки подсистем ввода/вывода -->
  <io>
    <!-- Указываем максимальное количество открытых ядром одновременно "файловых дискрипторов". На каждое подключение модуля (компонента) к ядру создаётся по дискриптору. Кроме того, обеспечение функциональности самого ядра требует пару-тройку сетевых подключений, сокетов или открытых файлов. В общем, нужно иметь в виду, что допустимое количество не должно быть меньше предполагаемого числа одновременной подключенных к ядру компонентов (default: 1024, что на мой взляд экстремально много - ну да ладно) -->
    <max_fds>1024</max_fds>

    <!-- Ограничения пропускной способности -->
    <limits>
      <!--
        Интересная функция контролирования объёмов передаваемого трафика: если за период в "Y" секунд будет передано "X" байт, то соединение компонента к серверу будет "придушено" на "Z" секунд. Рискованно, не правда-ли? Потому и отключено. Синтаксис:
        <bytes seconds='Y' throttle='Z'>X</bytes>

        Default: Y=1, Z=5 (для отключения функции следует "X" установить в "0").
      -->
      <bytes>0</bytes>

      <!--
        Компоненты можно ограничить по количеству попыток подключения с одного IP-адреса: если за период в "Y" секунд с одного IP-адреса будет осуществлено более "X" попыток подключения, то с этого IP-адреса в течении "Z" секунд не будут приниматься (???) подключения. Синтаксис:
       <connects seconds='Y' throttle='Z'>X</connects>

       Default: Y=5, Z=5 (для отключения функции следует "X" установить в "0"). -->
      <connects>0</connects>
    </limits>

  </io>

  <!-- Настройки контроля доступа, используемые при маршрутизации трафика между модулями и компонентами (Access control information) -->
  <aci>
    <!-- Перечисляем имена пользователей, которые получат неограниченный доступ ко всему, что только поддерживается ядром функционально, без каких либо ограничений (даже тех, что будут описаны далее) -->
    <acl type='all'>
      <user>jabberd</user>
    </acl>

    <!-- Выносим дальнейшие ACL во внешний подключаемый файл. -->
    <filter>/usr/local/etc/jabberd/router-filter.xml</filter>

  </aci>

</router>


Заметки и комментарии к публикации:


Оставьте свой комментарий ( выразите мнение относительно публикации, поделитесь дополнительными сведениями или укажите на ошибку )