Добавил: 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