UMGUM.COM (лучше) 

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

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

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

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

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


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

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

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

  <!-- Настройки подключения к ядру -->
  <router>
    <ip>127.0.0.1</ip>
    <port>5347</port>

    <!-- Имя пользователя, от имени которого модуль подключается к ядру, и пароль для аутентификации -->
    <user>jabberd</user>
    <pass>strongPassword</pass>

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

    <!-- Настройки переподключения модуля к ядру -->
    <retry>
      <!-- Количество попыток инициирования подключения модуля к ядру (default: 3, без ограничений: -1) -->
      <init>-1</init>

      <!-- Количество попыток переподключения модуля к ядру в случае потери связи (default: 3, без ограничений: -1) -->
      <lost>-1</lost>

      <!-- Задержка (в секундах) между попытками подключения и переподключения (default: 2) -->
      <sleep>2</sleep>
    </retry>
  </router>

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

  <!-- Настройки сетевых подключений -->
  <local>
    <!-- Предписываем запустить приём подключений для доменного имени "jabber0.local", требуя от клиентов безусловного переключения соединения на защиту с помощью протокола TLS, используя для этого сертификат и закрытый ключ из прилагаемого PEM-файла -->
    <id realm='jabber0.local'
        pemfile='/usr/local/etc/jabberd/server.pem'
        require-starttls='true'
    >jabber0.local</id>

    <!-- Предписываем запустить приём подключений для доменного имени "jabber1.local", требуя от клиентов безусловного переключения соединения на защиту с помощью протокола TLS, используя для этого сертификат и закрытый ключ из прилагаемого PEM-файла -->
    <id realm='jabber1.local'
        pemfile='/usr/local/etc/jabberd/server.pem'
        require-starttls='true'
    >jabber1.local</id>

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

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

  </local>

  <!-- Настройки подсистем ввода/вывода -->
  <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>

      <!--
        Другая разновидность контроля активности клиента: если за период в "Y" секунд будет передано "X" "строф" (законченных XML-блоков, содержащих инструкцию или данные), то соединение клиента к серверу будет "придушено" на "Z" секунд. Синтаксис:
        <stanzas seconds='Y' throttle='Z'>X</stanzas>

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

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

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

      <!-- Для предупреждения попыток заслать на сервер ненормально большой объём данных, ограничим максимальный размер (в байтах) XML-блока (следует иметь в виду, что минимальная граница значения: 16384) (для отключения функции следует значение установить в "0"). -->
      <stanzasize>65535</stanzasize>

    </limits>

    <!-- Включаем поддержку сжатия потока передаваемых данных (XEP-0138) -->
    <compression/>

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

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

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

    </check>

  </io>

  <!-- Настройки подсистем механизма аутентификации и доступа к реквизитам пользователей -->
  <authreg>
    <!-- Путь к используемым библиотекам -->
    <path>/usr/local/lib/jabberd</path>

    <!-- Перечень допустимых механизмов аутентификации -->
    <mechanisms>

      <!-- Перечень допустимых механизмов аутентификации, встроенных в XMPP-сервер Jabberd2 -->
      <traditional>
        <plain/>
        <digest/>
      </traditional>

      <!-- Перечень допустимых механизмов аутентификации, поддерживаемых прослойкой SASL, с использованием которой мы скомпилировали Jabberd2 (механизмы SASL имеют приоритет выше, чем встроенные в Jabberd2, так что, на самом деле только они и используются). -->
      <sasl>
        <plain/>
        <digest-md5/>
      </sasl>

    </mechanisms>

    <!-- Выбираем модуль доступа к базе данных реквизитов пользователей XMPP-сервера -->
    <module>mysql</module>

    <!-- Настройки подключения к MySQL, для доступа к реквизитам пользователей XMPP-сервера -->
    <mysql>
      <host>localhost</host>
      <port>3306</port>
      <dbname>jabberd2</dbname>
      <user>jabberd2</user>
      <pass>strongPassword</pass>

      <!-- Указываем хранить пароли в открытом виде, не шифруя их -->
      <password_type>
        <plaintext/>
      </password_type>
    </mysql>

  </authreg>

</c2s>


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


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