Как мне перенастроить ihttpd на другой порт/доменное имя?

Часто задаваемые вопросы
Q: Как мне перенастроить ihttpd на другой порт/доменное имя?

A: Конфигурировать встроенного web-сервера ihttpd для 5 поколения панелей достаточно просто, все описано в документации. Кроме того, есть возможность настроить проксирование на ihttpd через nginx.

Настройка связки nginx и ihttpd

COREmanager
В файл конфигурации nginx добавляем server
server {
	listen 10.10.10.10:443;
	server_name 10.10.10.10;
	ssl on;
	ssl_certificate /usr/local/mgr5/etc/manager.crt;
	ssl_certificate_key /usr/local/mgr5/etc/manager.key;
 
	set $mgr_proxy "http://10.10.10.10: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;
 	}
 }


В файл конфигурации COREmanager и в файл конфигурации панели управления следует добавить директирву ForwardedSecret.
Например:
ForwardedSecret mary123

ForwardedSecret — набор букв и цифр, которые представляют собой ключ, используемый при проверке аутентификации по ограниченному списку IP-адресов, в случае использования nginx. Требуется для защиты от несанкционированных попыток аутентификации.
Обратите внимание, секретная фраза, указанная в файле конфигурации nginx (директива proxy_set_header X-Forwarded-Secret) должна совпадать с фразой, указанной в файлах конфигурации панелей управления (директива ForwardedSecret).

После выполнения изменений не забудьте перезапустить nginx и панель управления. Перезапустить панель управления можно командой
killall core

Настройка встроенного веб-сервера (ihttpd)

COREmanager
Настройка с помощью командной строки при запуске
При запуске встроенного веб-сервера есть возможность указать конкретный IP-адрес и порт прослушивания. Подробнее об этой функции Вы можете узнать, запустив встроенный веб-сервер с ключом -h (справка о работе с программой).

Настройка с помощью конфигурационного файла
Путь по умолчанию: /usr/local/mgr5
Для более гибкого конфигурирования встроенного веб-сервера используется файл etc/ihttpd.conf директории установленного продукта на базе COREmanager 5.
Прослушиваемые IP-адреса настраиваются с помощью секции listen данного файла. Секция имеет следующий формат:
listen {
   ip <IP-адрес прослушивания>
   port <порт прослушивания>
   certkey <путь к файлу ключа SSL-сертификата>
   cert <путь к файлу SSL-сертификата>
   redirect
 }

  • IP-адрес является обязательным параметром
  • Остальные параметры являются необязательными
  • Если не указан параметр «port», прослушиваться будет порт встроенного веб-сервера по умолчанию (1500)
  • Параметры «certkey» и «cert» должны быть указаны вместе. Указание только одного из этих параметров является ошибкой конфигурирования.
  • Если параметры путей SSL-сертификатов не указаны, встроенный веб-сервер будет использовать автоматически созданный им при запуске самоподписанный SSL-сертификат
  • Если присутствует параметр redirect, пользователям будет запрещено использовать HTTP соединение для работы с панелью. Все HTTP запросы будут автоматически пересылаться на аналогичный URL с использованием протокола HTTPS

Примеры конфигурации:
listen {
   ip *
 }

Встроенный веб-сервер будет прослушивать все доступные IPv4-адреса используя порт по умолчанию ("*" идентично «0.0.0.0»)

listen {
   ip 5.6.7.8
 }

Встроенный веб-сервер будет прослушивать IPv4-адрес 5.6.7.8

listen {
   ip 5.6.7.8
   port 1700
 }

Встроенный веб-сервер будет прослушивать IPv4-адрес 5.6.7.8 используя порт 1700

listen {
   ip 5.6.7.8
   port 1700
   certkey etc/my.key
   cert etc/my.crt
 }

Встроенный веб-сервер будет прослушивать IPv4-адрес 5.6.7.8 используя порт 1700 и файл SSL-сертификата etc/my.crt с ключом etc/my.key для SSL-запросов (https)

listen {
   ip ::
 }

Встроенный веб-сервер будет прослушивать все доступные IPv6-адреса используя порт по умолчанию

listen {
   ip 2001:db8::ae21:ad12
   port 1800
 }

Встроенный веб-сервер будет прослушивать IPv6-адрес 2001:db8::ae21:ad12 используя порт 1800