Скопировано отсюда чтоб не забыть
https://doc.ispsystem.ru/index.php/Настройка_адреса_панели_управления
Ответ от поддержки
Для ISPmanager Lite можно настроить проксирование вручную при помощи следующей документации:
https://doc.ispsystem.ru/index.php/Настройка_адреса_панели_управления
Для ISPmanager Business начиная с версии 5.138 это можно сделать в настройках www-домена, включив у него "Nginx-прокси" и "Проксировать запросы в панель":
https://doc.ispsystem.ru/index.php/Nginx-прокси#.D0.9E.D0.B1.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_ISPmanager_.D0.B4.D0.BE_.D0.B2.D0.B5.D1.80.D1.81.D0.B8.D0.B8_5.138.0
Настройка адреса панели управления
Иерархия: | COREmanager |
Программные продукты ISPsystem 5-го поколения работают через встроенный веб сервер — ihttpd. ihttpd не имеет понятия «виртуальный сервер», то есть не может различать запросы по полю “Host” заголовка запроса. Все полученные запросы ihttpd передает ядру программного продукта.
За счет этого панель управления будет доступна по любому домену, который разрешается в ip адрес, где слушает ihttpd.
Например, на сервере ihttpd прослушивает адрес 10.10.10.10 и порт 1500. Если направить домен domain.com в днс на 10.10.10.10, то по адресу https://domain.com:1500/ будет открываться панель управления.
Nginx
При необходимости можно настроить чтобы панель управления работала через связку Nginx + ihttpd.
Для этого в файл конфигурации nginx добавляем server.
server { listen 10.10.10.10:443; server_name 10.10.10.10; ssl on; ssl_certificate /usr/local/mgr5/etc/manager.crt; ssl_certificate_key /usr/local/mgr5/etc/manager.key; client_max_body_size 20m; 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 <произвольный набор символов>; 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 <произвольный набор символов>; chunked_transfer_encoding off; } }
Директива client_max_body_size указывает, какого размера файла nginx сможет передать в панель (например это нужно для работы «Менеджера файлов» в ISPmanager). Укажите здесь нужное значение
В файл конфигурации COREmanager и в файл конфигурации панели управления следует добавить директиву ForwardedSecret.
Например:
ForwardedSecret mary123
ForwardedSecret — набор букв и цифр, которые представляют собой ключ, необходимый для того, чтобы ihttpd доверял запросам от nginx`у и писал в лог панели IP адрес клиента, а не сервера. Без данной директивы, любой будет иметь возможность подключиться к ihttpd и указать произвольный адрес клиента в запросе. Другими словами, ForwardedSecret необходим для защиты от подмены ip адреса клиента.
Обратите внимание, секретная фраза, указанная в файле конфигурации nginx (директива proxy_set_header X-Forwarded-Secret) должна совпадать с фразой, указанной в файлах конфигурации панелей управления (директива ForwardedSecret).
После выполнения изменений не забудьте перезапустить nginx и панель управления. Перезапустить панель управления можно командой
killall core
SPDY
Если используется spdy протокол, то для корректной работы следует добавить директивы
proxy_set_header User-Agent $http_user_agent; proxy_set_header Accept $http_accept; proxy_set_header Accept-Language $http_accept_language; proxy_set_header ISP-Client $http_isp_client; proxy_set_header Referer $http_referer; proxy_set_header Content-Type $http_content_type; proxy_set_header Cookie $http_cookie; proxy_set_header Pragma $http_pragma; proxy_set_header Cache-Control $http_cache_control; proxy_set_header Accept-Encoding $http_accept_encoding; RAW Paste Data
Apache
Возможно настроить работу панели управления через Apache с проксированием на ihttpd.
В Apache должны быть подключены модули:
- proxy_module
- proxy_connect_module
- proxy_http_module
В файле конфигурации Apache создаем VirtualHost:
<VirtualHost 10.10.10.10:80> ServerName domain.com ServerAlias www.domain.com Redirect / https://domain.com/ </VirtualHost> <VirtualHost 10.10.10.10:443> ServerName domain.com ServerAlias www.domain.com SSLProxyEngine on SSLProxyVerify none SSLProxyCheckPeerCN off SSLProxyCheckPeerName off SSLEngine On SSLCertificateFile /usr/local/mgr5/etc/manager.crt SSLCertificateKeyFile /usr/local/mgr5/etc/manager.key ProxyRequests Off ProxyPreserveHost On ProxyVia full RequestHeader set X-Forwarded-Secret <произвольный набор символов> RequestHeader set X-Forwarded-For $remote_addr <proxy *> Order deny,allow Allow from all </proxy> ProxyPass / https://10.10.10.10:1500/ ProxyPassReverse / https://10.10.10.10:1500/ </VirtualHost>
Чтобы применить конфигурацию Apache:
apachectl graceful
В файл конфигурации COREmanager и панели упавления добавляем директиву ForwardedSecret.
Например:
ForwardedSecret mary123
Значение ForwardedSecret в файле конфигурации панели и COREmanager должно совпадать со значением, указанным в директиве RequestHeader set X-Forwarded-Secret , что в файле конфигурации Apache.
После изменений в файлах конфигурации COREmanager и панели управления, необходимо перезапустить панель командой
killall core
Для правильной работы с SSL-сертификатом панели в конфигурационном файле /usr/local/mgr5/etc/ihttpd.conf нужно прописать информацию о сертификате:
listen { ip 10.10.10.10 redirect sni { domain_cert /usr/local/mgr5/etc/manager.crt domain_key /usr/local/mgr5/etc/manager.key domains domain.com } }