有没有办法从服务器外部(即通过查询 apache 服务器)获取 Apache 虚拟主机列表。
答案1
配置并启用限制访问mod_info
答案2
除非有人在服务器上实现了一个脚本,并允许你访问它,否则肯定不行——HTTP 协议本身不具备这种能力。请注意,如果此功能默认实现并处于活动状态,大多数管理员会认为它是不必要的信息泄露。基本上,如果你是参与运行服务器的管理员/开发人员,你可以从配置中发现;如果你不是,那根本就不关你的事。
答案3
您可以从命令行使用 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)