DataLife Engine > Настройка > ISPManager+nginx

ISPManager+nginx


13-03-2021. Разместил: synergix Зачастую бывает гораздо удобнее, чтобы встроенный веб-сервер панели управления ISPmanager работал за nginx. Это позволяет обращаться к панели не по IP:port, а по нормальному доменному имени и защитить подключение через полноценный SSL-сертификат, а не использовать самоподписанный от панели.

Для этого нам надо поправить конфиг ihttpd.conf в /usr/local/mgr5/etc, приведя его к виду

listen {
    ip 127.0.0.1
    port 1500
}


и перезапустим встроенный веб-сервис через service ihttpd restart

Далее, отредактируем конфиг нужного домена для доступа к панели. Будем считать, что поддомен вида isp.domain.com и сертификат от Let's encrypt вы уже получили заранее.

Отредактируйте конфиг, заменив секцию

location / {}


на

set $mgr_proxy "https://127.0.0.1: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 mary123;
 	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 mary123;
        chunked_transfer_encoding off;
	}


И перезапустим nginx командой service nginx restart

После этого, панель будет доступна по адресу isp.domain.com, а доступ по IP:port будет закрыт.
Вернуться назад