По умолчанию платформа работает через встроенный веб-сервер — ihttpd. Веб-интерфейс доступен по следующему адресу:
https://<IP-адрес_сервера>:1500/mgrName
Настроить URL можно так, чтобы веб-интерфейс открывался по переходу на доменное имя.
Есть два варианта настройки:
- настройка ihttpd;
- настройка связки nginx + ihttpd.
Настройка ihttpd
Если на сервере не планируется запуск сторонних веб-приложений, то изменяются порты веб-сервера на 80 и 443, например:
listen {
ip <адрес>
port 443
redirect
}
listen {
ip <адрес>
port 80
redirect
}
При такой настройке ihttpd будет принимать соединения на порты 80 и 443. При этом с порта 80 назначено перенаправление (редирект) на порт 443.
После изменения файла конфигурации перезапустите сервис:
service ihttpd restart
При базовых настройках по адресу https://10.10.10.10/ будет открываться COREmanager. Чтобы это изменить, создайте индексную страницу — файл /usr/local/mgr5/bin/index, содержащий название платформы в формате: "mgrName". После этого при обращении на IP-адрес будет открываться указанная платформа.
Чтобы переходить к веб-интерфейсу по домену, направьте его А-запись на соответствующий адрес (10.10.10.10).
Настройка nginx + ihttpd
Для установки Nginx выполните команду:
yum install nginx
apt-get install nginx
Настройка Nginx
В файл конфигурации nginx /etc/nginx/nginx.conf добавьте следующие строки:
server {
listen 10.10.10.10:443 ssl;
server_name my.domain.com;
ssl_certificate /usr/local/mgr5/etc/manager.crt;
ssl_certificate_key /usr/local/mgr5/etc/manager.key;
set $mgr_proxy "https://10.10.10.10:1500";
location ^~ /manimg/ {
alias /usr/local/mgr5/skins/;
}
location / {
proxy_pass $mgr_proxy;
proxy_redirect $mgr_proxy /;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Secret mary123;
chunked_transfer_encoding off;
}
location ^~ /mancgi/ {
proxy_pass $mgr_proxy;
proxy_redirect $mgr_proxy /;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Secret mary123;
chunked_transfer_encoding off;
}
}
ForwardedSecret — в случае nginx, это набор букв и цифр, которые представляют собой ключ, используемый при проверке аутентификации по ограниченному списку IP-адресов. Требуется для защиты от несанкционированных попыток аутентификации.
Секретная фраза, указанная в файле конфигурации nginx (директива proxy_set_header X-Forwarded-Secret) должна совпадать с фразой, указанной в файлах конфигурации панели управления и COREmanager (директива ForwardedSecret).
При добавлении секретной фразы в файл конфигурации nginx, добавьте её и в файлы конфигурации платформы и COREmanager.
После редактирования конфигурационного файла платформы, выполните перезапуск:
/usr/local/mgr5/sbin/mgrctl -m mgrName exit
Чтобы веб-интерфейс открывался через протокол https, настройте редирект. Для этого в файл конфигурации nginx добавьте строки:
server {
listen 10.10.10.10:80;
server_name my.domain.com;
rewrite ^(.*)$ https://$server_name$1 permanent;
}
После изменения конфигурации перезапустите nginx:
service nginx restart
Настройка ihttpd
Чтобы избежать циклической переадресации, в файле конфигурации ihttpd /usr/local/mgr5/etc/ihttpd.conf удалите строку со значением "redirect".
При базовых настройках по адресу https://10.10.10.10/ будет открываться COREmanager. Чтобы это изменить создается индексная страница: файл /usr/local/mgr5/bin/index с содержимым "mgrName". После этого при обращении на IP-адрес будет открываться указанная панель управления.
Чтобы переходить к веб-интерфейсу по домену, направьте его А-запись на соответствующий адрес (10.10.10.10).
Настройка nginx для BILLmanager 6
Если вы используете BILLmanager 6, то добавьте в файл конфигурации nginx /etc/nginx/nginx.conf дополнительную секцию:
location ^~ /api2/{
proxy_pass $mgr_proxy;
proxy_redirect $mgr_proxy /;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Secret mary123;
chunked_transfer_encoding off;
}