Настройка адреса BILLmanager

Материал из ISPWiki
Перейти к: навигация, поиск

По умолчанию BILLmanager работает через встроенный веб сервер ihttpd и доступен по адресу https://ip:1500/billmgr

В этой статье описано как настроить адрес BILLmanager, то есть сделать, чтобы панель управления открывалась по адресу my.domain.com

Существует два варианта настройки настройки адреса BILLmanager:

  • Настройка ihttpd
  • Настройка связки nginx + ihttpd

Настройка ihttpd

Если на сервере с BILLmanager не планируется запуск никаких веб приложения, то перевешиваем веб сервер ihttpd на 443 и 80 порт.

Файл конфигурации ihttpd настраивается следующим образом:

listen {
       ip 10.10.10.10
       port 443
}       
listen {
       ip 10.10.10.10
       port 80
       redirect
}

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

После редактирования файла конфигурации необходим перезапуск сервиса

service ihttpd restart

По умолчанию по адресу https://10.10.10.10 будет открываться COREmanager. Чтобы это изменить создается индексная страница. Создается файл /usr/local/mgr5/bin/index с содержимым - billmgr. После этого по адресу https://10.10.10.10 будет открываться BILLmanager.

На этом настройка завершена. Осталось направить A запись домена my.domain.com на адрес 10.10.10.10. После чего BILLmanager будет доступен по адресу https://my.domain.com

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

Если на сервере вместе с BILLmanager также установлен ISPmanager, то устанавливать Nginx нужно через ISPmanager. В ISPmanager Lite это можно сделать в разделе "Возможности". В ISPmanager Business Nginx установлен по-умолчанию.

Если на сервере не установлен ISPmanager, то устанавливать Nginx будем вручную.

Установка nginx на CentOS

yum install nginx

Установка nginx на Debian

 apt-get install nginx  

Настройка nginx

В файл конфигурации nginx (/etc/nginx/nginx.conf) добавляется:

server {	

       listen 10.10.10.10:443;
       server_name my.domain.com;	
       ssl on;	
       ssl_certificate /usr/local/mgr5/etc/manager.crt;	
       ssl_certificate_key /usr/local/mgr5/etc/manager.key; 	
 
       set $mgr_proxy "http://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;
	}
}


Если вы используете BILLmanager 6, то следует добавить также ещё одну секцию:

 	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;
	}


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

Обратите внимание, секретная фраза, указанная в файле конфигурации nginx (директива proxy_set_header X-Forwarded-Secret) должна совпадать с фразой, указанной в файле конфигурации BILLmanager (директива ForwardedSecret).

После редактирвоания файла конфигурации BILLmanager необходимо перезапустить панель управления командой

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

Если необходимо сделать, чтобы по http://my.domain.com (не httpS) тоже открывался BILLmanager и производился редирект на 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 (/usr/local/mgr5/etc/ihttpd.conf) убирается redirect. В итоге файл конфигурации ihttpd имеет вид:

listen {
        ip 10.10.10.10
}

Создаем индексный файл. Создаем файл /usr/local/mgr5/bin/index с содержимым - billmgr.

Настройка завершена. Осталось направить A запись домена my.domain.com на адрес 10.10.10.10. После чего BILLmanager будет доступен по адресу https://my.domain.com