Так как данная настройка в ISPmanager, в общем то, не работает, а лишь вызывает те или иные проблемы, у себя я решил все переделать вручную.
Выкладываю здесь, возможно кому то еще пригодится данный подход.
Apache-itk+nginx
И так задача:
Отключить ihttpd
SSL отдать apache
Сделать панель доступной только по следующим адресам и алиасам на одном домене:
https://cp.domain.ru
https://cp.domain.ru/manager
https://cp.domain.ru/manager/
https://cp.domain.ru/manager/ispmgr
https://cp.domain.ru/manager/ispmgr/
И теже адреса http://-----//-----, но с редиректом на https://
Со всех остальных доменов на сервере убираем доступ к панели, webmail и myadmin
Часть конфига apache:
Код:
# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/
Include /usr/local/ispmgr/etc/ispmgr.inc
Include /etc/apache2/vhosts/*.inc
<Directory /var/www/*/data/>
php_admin_flag engine off
</Directory>
NameVirtualHost 123.123.123.123:443
NameVirtualHost 123.123.123.123:81
В конфигах apache для roundcube и phpmyadmin убираем алиасы и оставляем только описание директрий.
В конфиге nginx ничего не меняем.
Далее вид конфигов панели:
ispmgr.inc
Код:
LoadModule ispmgr_module /usr/local/ispmgr/lib/apache/mod_ispmgr.so
Alias /manimg/ /usr/local/ispmgr/skins/
Alias /disabled/ /usr/local/ispmgr/www/disabled/
Alias /mancgi/ /usr/local/ispmgr/cgi/
<Directory /usr/local/ispmgr/>
Order allow,deny
Allow from all
AddDefaultCharset utf-8
</Directory>
<Directory /usr/local/ispmgr/cgi/>
SetHandler directcgi-handler
AddDefaultCharset utf-8
</Directory>
<Directory /usr/local/ispmgr/bin/>
SetHandler ispwrap-handler
AddDefaultCharset utf-8
DirectoryIndex ispmgr billmgr vdsmgr dsmgr dnsmgr ipmgr
</Directory>
<IfModule mod_ssl.c>
<VirtualHost 123.123.123.123:443>
ServerName cp.domain.ru
DocumentRoot /usr/local/ispmgr/bin/
SSLCertificateFile /usr/local/ispmgr/etc/manager.crt
SSLCertificateKeyFile /usr/local/ispmgr/etc/manager.key
SSLCACertificateFile /usr/local/ispmgr/etc/manager.bundle
SSLEngine on
Alias /manager /usr/local/ispmgr/bin/
Alias /manimg/ /usr/local/ispmgr/skins/
Alias /mancgi/ /usr/local/ispmgr/cgi/
Alias /myadmin /var/www/phpmyadmin/
Alias /webmail /var/www/roundcube/
Redirect permanent /manager/ispmgr/ /manager/ispmgr
</VirtualHost>
</IfModule>
Код:
server {
listen 123.123.123.123;
server_name cp.domain.ru;
if ( $scheme = "http" ) {
rewrite ^/(.*)$ https://$host/$1 permanent;
}
}
Не забудем в добавить в ispmg.conf
Option WebNginxNoSSL
И если используете опцию NgProxyRegexp, то уберите из ее шаблона webmail и myadmin
И не забудем включить в apache mod_ssl, если не включен.
Вот собственно и всё. А про пункт в меняю "Адрес панели" забываем.))
З.Ы. Один из основных косяков был в том, что если мы хотим переложить обработку SSL обратно на apache, а в настройках адреса панели укажем выделенный домен, то в конфигах зачем то добавляется ngix-хост с SSL и соответственно имеем конфликты, ведь apache тоже слушает 443 порт.
Но это уже не важно, для себя я всё переделал, но по идее разработчики должны были. Коли уж сделали эту опцию, то допилили бы ее до конца по человечески или не трогали вообще и оставили всё как было раньше, с возможность отключения панели для определенного домена.
Комментариев нет:
Отправить комментарий