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