Как известно в стандартной поставке ISPManager 4 есть вкладочка "Адрес панели", однако должным образом там ничего не работает, и повесить панельку на отдельный домен или на поддомен у вас из самой панельки не получится.
Добавил: Amro   Дата: 05.08.2015 16:14

Как известно в стандартной поставке ISPManager 4 есть вкладочка "Адрес панели", однако должным образом там ничего не работает, и повесить панельку на отдельный домен или на поддомен у вас из самой панельки не получится. При попытке манипуляции с настройками во вкладке "Адрес панели" либо ничего не происходит, либо панелька перестаёт открываться вовсе. В ISP 5 вроде как эту проблему решили, хотя точно не уверен.

Зачем всё это нужно? Здесь ответ простой: Чтобы исключить долбёжку панельки ботами!

Итак задача: настроить ispmanager на поддомене и закрыть порт 1500 во внешку, сделать проксирование через nginx на локально запущенный ispmanager

Итак приступим:

1) Создаём поддомен

к примеру cp.mydomen.ru, для создания достаточно в редакторе DNS добавить запись А на ваш ip:1.2.3.4 (через панель поддомен создавать не нужно)

2) Открываем /usr/local/ispmgr/etc/nginx.domain

делаем проксирование обращений к поддомену на локальный ip и порт, вписываем туда:

server {
listen 1.2.3.4:80;
listen 1.2.3.4:443 ssl;
server_name cp.mydomen.ru;

ssl_certificate /usr/local/ispmgr/etc/manager.crt;
ssl_certificate_key /usr/local/ispmgr/etc/manager.key;

if ( $scheme = "http" ) {
rewrite ^/(.*)$ https://$host/$1 permanent;
}

# Чтобы при обращении по IP вида http://1.2.3.4 панелька не открывалась 
if ($host !~ ^(cp.mydomen.ru|cp.mydomen.ru)$ ) {
return 444;
}

error_log /var/log/nginx/cp.mydomen.ru.error.log;
access_log /var/log/nginx/cp.mydomen.ru.access.log;

set $mgr_proxy "https://127.0.0.1:1500";

location /manimg/ {
alias /usr/local/ispmgr/skins/;
access_log off;
expires 7d;
}

location / {
proxy_pass $mgr_proxy;
proxy_redirect $mgr_proxy /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Real-IP $remote_addr;
}
}

3) Открываем /usr/local/ispmgr/etc/nginx.inc

Комментируем всё что там есть или просто удаляем

4) Теперь самое интересное в /etc/rc.local

Меняем внешний IP встроенного в панельку веб-сервера ihttpd на локальный 127.0.0.1

/usr/local/ispmgr/sbin/ihttpd 127.0.0.1 1500

после всего вышепроделанного грохаем 

killall ihttpd

и перазапускаем 

/usr/local/ispmgr/sbin/ihttpd 127.0.0.1 1500

или рестартим систему 

теперь панель стала доступной исключительно и только на поддомене + для которого подрублены access логи.

comments powered by HyperComments