Есть ли способ получить список виртуальных хостов Apache извне сервера, то есть с другого компьютера, запросив сервер Apache.
Настроить и включить ограниченный доступ к mod_info
Из командной строки вы можете использовать apachectl -S; вывод аналогичен приведенному ниже.
$ apachectl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:443 is a NameVirtualHost
default server virtualhost1 (/etc/httpd/conf.d/virtualhost1:17)
port 443 namevhost virtualhost1 (/etc/httpd/conf.d/virtualhost1:17)
port 443 namevhost virtualhost2 (/etc/httpd/conf.d/virtualhost2:16)
*:80 is a NameVirtualHost
default server virtualdefault (/etc/httpd/conf/httpd.conf:144)
port 80 namevhost virtualdefault (/etc/httpd/conf/httpd.conf:144)
port 80 namevhost virtualhost2 (/etc/httpd/conf.d/virtualhost2:1)
Если кто-то не реализует сценарий на сервере, который делает это и делает его доступным для вас, конечно, нет - сам протокол HTTP не имеет такой возможности. Имейте в виду, что такая функция будет считаться раскрытием нежелательной информации большинством администраторов, если она будет реализована и активна по умолчанию. В основном, если вы администратор / разработчик, участвующий в запуске сервера, вы можете узнать это из конфигурации; если нет, то это просто и не ваше дело.