Документация BILLmanager 6
Поддержка

Адреса панели управления

Статья описывает настройку адресов, по которым будет доступен веб-интерфейс платформы. Вы можете выполнить настройки через веб-интерфейс BILLmanager или через изменение файлов конфигурации. Настройки, выполненные в веб-интерфейсе, добавляются в файл конфигурации сервиса ihttpd — /usr/local/mgr5/etc/ihttpd.conf.

По умолчанию платформа работает через встроенный веб-сервер — ihttpd. Веб-интерфейс доступен по следующему адресу:

URL web-интерфейса. Порт 1500
https://<IP-адрес_сервера>:1500/billmgr

Добавление нового адресаLink to Добавление нового адреса

Чтобы добавить новый адрес, перейдите в раздел НастройкиАдреса панели → кнопка Создать. Заполните форму:

  1. IP-адрес — выберите IP-адрес, который будет использоваться для приёма входящих соединений.
  2. Порт — укажите номер порта, который будет использован для приёма входящих соединений. Если оставить это поле пустым, будет использован порт по умолчанию — 1500.

    При изменении порта BILLmanager может стать недоступным. Перед изменением откройте в правилах брандмауэра ОС порт, который нужно назначить платформе.
  3. Запретить HTTP соединения — включите опцию, чтобы перенаправлять все запросы на HTTPS. С выключенной опцией встроенный веб-сервер может принимать запросы как по HTTP, так и по HTTPS-протоколам.

    • 80 порт используется по умолчанию в протоколе HTTP.
    • 443 порт используется по умолчанию в протоколе HTTPS.

      Не включайте опцию Запретить HTTP соединения в настройках адреса с 80 и 443 портами одновременно.

      Чтобы адрес открывался через HTTPS-соединение, подключите для адреса SSL-сертификат.

  4. Удалить адреса — активируйте опцию, чтобы удалить все адреса, которые прослушивают указанный порт.

Доступ к интерфейсу по доменному имениLink to Доступ к интерфейсу по доменному имени

Чтобы веб-интерфейс открывался по доменному имени, настройте:

  • ihttpd;
  • связку nginx + ihttpd.
Чтобы переходить к веб-интерфейсу по домену, установите соответствие между доменным именем и IP-адресом платформы через А-запись.

Настройка ihttpdLink to Настройка ihttpd

Для доступа к веб-интерфейсу BILLmanager требуются порты 1500, 443, 80. Если на сервере с платформой запускаются сторонние приложения, настройте доступ к портам таким образом, чтобы они не пересекались с портами для BILLmanager .

Если на сервере не планируется запуск сторонних веб-приложений:

  1. Измените порты веб-сервера на 80 и 443, например:

    Файл конфигурации /usr/local/mgr5/etc/ihttpd.conf
    listen {
    		ip <адрес>
    		port 443
    		redirect
    }       
    listen {
           ip <адрес>
           port 80
           redirect
    }
    Пояснение

    При такой настройке ihttpd будет принимать соединения на порты 80 и 443. При этом с порта 80 назначено перенаправление (редирект) на порт 443.

  2. После изменения файла конфигурации перезапустите сервис:

    service ihttpd restart

Настройка nginx + ihttpdLink to Настройка nginx + ihttpd

  1. Настройка Nginx:
    1.  Если Nginx не установлен, установите его:

      Ubuntu
      apt-get install nginx 
      AlmaLinux
      dnf install nginx
      Откройте порты на AlmaLinux
    2. Добавьте в файл конфигурации nginx /etc/nginx/nginx.conf следующие строки:

      Файл конфигурации /etc/nginx/nginx.conf
      Пояснения

      ForwardedSecret — в случае Nginx, это набор букв и цифр, которые представляют собой ключ. Данный ключ используется при проверке аутентификации по ограниченному списку IP-адресов. Требуется для защиты от несанкционированных попыток аутентификации.

      Секретная фраза должна совпадать в файлах конфигурации:

      • Nginx — директива proxy_set_header X-Forwarded-Secret;
      • BILLmanager — директива ForwardedSecret;
      • COREmanager — директива ForwardedSecret.
    3. Добавьте секретную фразу в файл конфигурации BILLmanager /usr/local/mgr5/etc/billmgr.conf в директиву ForwardedSecret.
    4. Добавьте секретную фразу в файл конфигурации COREmanager /usr/local/mgr5/etc/core.conf в директиву ForwardedSecret.
    5. После редактирования конфигурационных файлов, перезапустите платформу:

      /usr/local/mgr5/sbin/mgrctl -m billmgr exit
    6. Перезапустите Nginx:

      service nginx restart
  2. Настройка ihttpd. Чтобы избежать циклической переадресации:
    1. Удалите строку со значением "redirect" в файле конфигурации ihttpd /usr/local/mgr5/etc/ihttpd.conf.
    2. Перезапустите сервис:

      service ihttpd restart

SSL-сертификаты адресовLink to SSL-сертификаты адресов

Вы можете добавить SSL-сертификаты для адресов или доменного имени (необходима поддержка Server Name Indication) платформы.

Server Name Indication

SSL-сертификаты для адресов платформы необходимы, чтобы можно было зайти в веб-интерфейс через протокол HTTPS по IP-адресу или доменному имени.

Чтобы управлять SSL-сертификатами в платформе, перейдите в раздел НастройкиАдреса панели → кнопка Сертификаты.

Добавить Let’s Encrypt сертификатLink to Добавить Let’s Encrypt сертификат

Let’s Encrypt — некоммерческий удостоверяющий центр, который предоставляет бесплатные сертификаты X.509 для TLS-шифрования. Шифрование осуществляется с помощью автоматизированного процесса. Создание, проверка, подпись, установка и обновление сертификата выполняются автоматически. Подробнее см. на официальном сайте сервиса Let’s Encrypt.

Основные ограничения Let’s Encrypt:

  • можно заказать 50 сертификатов в неделю (домен верхнего уровня (TLD), включая его поддомены);
  • срок действия Let’s Encrypt сертификата 3 месяца. Это означает, что каждые 3 месяца будет выполняться перевыпуск Let’s Encrypt сертификатов.

Существуют и другие ограничения. Подробнее в документации Let’s Encrypt.

Перед добавлением сертификата Let’s Encrypt убедитесь, что доменное имя ведёт на существующий IP-адрес платформы. При добавлении сертификата Let’s Encrypt будет выполнена проверка, что вы являетесь владельцем домена.

Чтобы добавить сертификат, перейдите в раздел НастройкиАдреса панели → кнопка Сертификаты → кнопка Добавить:

  1. Тип сертификата — способ создания SSL-сертификата. Выберите "Let`s Encrypt сертификат".
  2. Доменное имя сертификата — укажите имена доменов в сертификате.
  3. IP-адрес — выберите адрес платформы, к которому будет привязан сертификат. В списке отображаются IP-адреса, которые настроены в разделе Адреса панели.

При заказе сертификата в директории /usr/local/mgr5/www/letsencrypt/.well-known/acme-challenge:

  1. Создаётся файл с токеном и данными для проверки. Сервис проверки Let’s Encrypt выполняет запрос по доменному имени и считывает этот токен.
  2. После выдачи SSL-сертификата в планировщик добавляется задание, которое проверяет необходимость продления SSL-сертификата:

    0 0 * * * "/usr/local/mgr5/etc/scripts/acmesh"/acme.sh --cron --home "/usr/local/mgr5/etc/scripts/acmesh" > /dev/null

При выпуске нескольких сертификатов для доменных имён третьего уровня и выше может возникнуть ошибка выпуска сертификата на большое количество поддоменов. Это ограничение Let’s Encrypt, выдача сертификатов будет продолжена спустя некоторое время (обычно в пределах суток).

Поддерживается работа совместно с веб-сервером Apache и Nginx. Если никакой веб-сервер не запущен, то запускается встроенный сервер, который будет принимать запросы от Let’s Encrypt во время проверки домена.

Добавить существующий сертификатLink to Добавить существующий сертификат

При добавлении существующего сертификата соответствие домена и IP-адреса не проверяется. В случае несоответствия доменного имени и IP-адреса такой сертификат в списке будет отмечен соответствующей пиктограммой.

Чтобы добавить сертификат, перейдите в раздел НастройкиАдреса панели → кнопка Сертификаты → кнопка Добавить:

  1. Тип сертификата — выберите "Существующий сертификат".
  2. Доменное имя сертификата — доменное имя, для которого будет выпущен SSL-сертификат. Поле недоступно для изменения, значение будет взято из сертификата.
  3. IP-адрес — выберите адрес платформы, к которому будет привязан SSL-сертификат. В списке отображаются IP-адреса, которые настроены в разделе НастройкиАдреса панели.
  4. SSL сертификат — укажите ваш SSL-сертификат.
  5. Ключ SSL сертификата — укажите ключ вашего SSL-сертификата.
  6. Цепочка SSL-сертификатов — укажите цепочку SSL-сертификатов, которая будет добавлена в файл сертификата.

Настроить сертификат для нескольких портовLink to Настроить сертификат для нескольких портов

Let's Encrypt выпускает сертификат только на домен, а не на порт. Если вам нужно для каждого порта указать отдельный домен, вы можете использовать для этого отдельные сертификаты.

Чтобы прописать сертификат на несколько портов:

  1. Добавьте секции для нужных портов в конфигурационный файл /usr/local/mgr5/etc/ihttpd.conf:

    listen {
            ip <IP-адрес>
            redirect
            sni {
                    domain_cert etc/manager.crt
                    domain_key etc/manager.key
                    domains bill.domain.ru
            }
    }
    
    listen {
            ip <IP-адрес>
            port 443
            redirect
    
            sni {
                    domain_cert etc/manager.crt
                    domain_key etc/manager.key
                    domains bill.domain.ru
            }        
    }
    Пояснение
  2. Перезапустите ihttpd:

    systemctl restart ihttpd
  3. Перезапустите BILLmanager :

    /usr/local/mgr5/sbin/mgrctl -m billmgr -R

Удалить сертификат адреса панелиLink to Удалить сертификат адреса панели

Чтобы удалить SSL-сертификат, выберите его в списке и нажмите кнопку Удалить. Для доступа по IP-адресу будет использоваться самоподписанный сертификат по умолчанию.


Дата последнего обновления статьи: 03.02.2025. Статья подготовлена техническими писателями ISPsystem .