Skip to content

配置

需要修改apache httpd加载配置文件httpd-info.conf

需要开放访问server-infoserver-status的权限

docker实现

创建Dockerfile如下

dockerfile
FROM httpd:2.4-alpine

# 启用httpd info 模块
RUN sed -i "s|#Include conf/extra/httpd-info.conf|Include conf/extra/httpd-info.conf|g" /usr/local/apache2/conf/httpd.conf
# 加载mod info 开放访问server info 信息
RUN sed -i "s|#LoadModule info_module modules/mod_info.so|LoadModule info_module modules/mod_info.so|g" /usr/local/apache2/conf/httpd.conf
# 配置允许远程访问,避免403错误
RUN sed -i "s/Require host .example.com/Order deny,allow/g" /usr/local/apache2/conf/extra/httpd-info.conf
RUN sed -i "s/Require ip 127/Allow from all/g" /usr/local/apache2/conf/extra/httpd-info.conf
FROM httpd:2.4-alpine

# 启用httpd info 模块
RUN sed -i "s|#Include conf/extra/httpd-info.conf|Include conf/extra/httpd-info.conf|g" /usr/local/apache2/conf/httpd.conf
# 加载mod info 开放访问server info 信息
RUN sed -i "s|#LoadModule info_module modules/mod_info.so|LoadModule info_module modules/mod_info.so|g" /usr/local/apache2/conf/httpd.conf
# 配置允许远程访问,避免403错误
RUN sed -i "s/Require host .example.com/Order deny,allow/g" /usr/local/apache2/conf/extra/httpd-info.conf
RUN sed -i "s/Require ip 127/Allow from all/g" /usr/local/apache2/conf/extra/httpd-info.conf

创建compose.yaml

yaml
services:
  apache:
    container_name: demo-apache
    image: demo-apache
    build: .
    restart: always
    ports:
      - "80:80"
services:
  apache:
    container_name: demo-apache
    image: demo-apache
    build: .
    restart: always
    ports:
      - "80:80"

构建镜像

shell
$ docker compose build
$ docker compose build

服务启动

shell
$ docker compose up -d
$ docker compose up -d

查看访问配置信息

shell
$ docker exec demo-apache cat /usr/local/apache2/conf/extra/httpd-info.conf
....
<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Allow from all
</Location>
....
<Location /server-info>
    SetHandler server-info
    Order deny,allow
    Allow from all
</Location>
$ docker exec demo-apache cat /usr/local/apache2/conf/extra/httpd-info.conf
....
<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Allow from all
</Location>
....
<Location /server-info>
    SetHandler server-info
    Order deny,allow
    Allow from all
</Location>

验证结果

浏览器访问地址http://127.0.0.1/server-status获取服务状态信息

Apache Server Status for 127.0.0.1 (via 172.29.0.2)
Server Version: Apache/2.4.55 (Unix)
Server MPM: event
Server Built: Feb 11 2023 09:43:46
Current Time: Monday, 20-Mar-2023 07:01:24
Restart Time: Monday, 20-Mar-2023 07:00:29
Parent Server Config. Generation: 1
Parent Server MPM Generation: 0
Server uptime: 54 seconds
Server load: 0.75 0.88 0.92
Total accesses: 2 - Total Traffic: 52 kB - Total Duration: 4
CPU Usage: u.02 s.02 cu0 cs0 - .0741% CPU load
.037 requests/sec - 986 B/second - 26.0 kB/request - 2 ms/request
1 requests currently being processed, 99 idle workers
Slot	PID	Stopping	Connections	Threads	Async connections
total	accepting	busy	idle	writing	keep-alive	closing
0	8	no	0	yes	0	25	0	0	0
1	9	no	0	yes	0	25	0	0	0
2	10	no	0	yes	1	24	0	0	0
3	92	no	0	yes	0	25	0	0	0
Sum	4	0	0	 	1	99	0	0	0
___________________________________________________W____________
____________________________________............................
................................................................
................................................................
................................................................
................................................................
................
Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process
Srv	PID	Acc	M	CPU	SS	Req	Dur	Conn	Child	Slot	Client	Protocol	VHost	Request
1-0	9	0/1/1	_	0.00	50	3	3	0.0	0.05	0.05	172.29.0.1	http/1.1	172.29.0.2:80	GET /server-info HTTP/1.1
2-0	10	0/1/1	_	0.00	4	0	0	0.0	0.00	0.00	172.29.0.1	http/1.1	172.29.0.2:80	GET /serve-status HTTP/1.1
2-0	10	2/0/0	W	0.00	0	0	0	0.0	0.00	0.00	172.29.0.1	http/1.1	172.29.0.2:80	GET /server-status HTTP/1.1
Apache Server Status for 127.0.0.1 (via 172.29.0.2)
Server Version: Apache/2.4.55 (Unix)
Server MPM: event
Server Built: Feb 11 2023 09:43:46
Current Time: Monday, 20-Mar-2023 07:01:24
Restart Time: Monday, 20-Mar-2023 07:00:29
Parent Server Config. Generation: 1
Parent Server MPM Generation: 0
Server uptime: 54 seconds
Server load: 0.75 0.88 0.92
Total accesses: 2 - Total Traffic: 52 kB - Total Duration: 4
CPU Usage: u.02 s.02 cu0 cs0 - .0741% CPU load
.037 requests/sec - 986 B/second - 26.0 kB/request - 2 ms/request
1 requests currently being processed, 99 idle workers
Slot	PID	Stopping	Connections	Threads	Async connections
total	accepting	busy	idle	writing	keep-alive	closing
0	8	no	0	yes	0	25	0	0	0
1	9	no	0	yes	0	25	0	0	0
2	10	no	0	yes	1	24	0	0	0
3	92	no	0	yes	0	25	0	0	0
Sum	4	0	0	 	1	99	0	0	0
___________________________________________________W____________
____________________________________............................
................................................................
................................................................
................................................................
................................................................
................
Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process
Srv	PID	Acc	M	CPU	SS	Req	Dur	Conn	Child	Slot	Client	Protocol	VHost	Request
1-0	9	0/1/1	_	0.00	50	3	3	0.0	0.05	0.05	172.29.0.1	http/1.1	172.29.0.2:80	GET /server-info HTTP/1.1
2-0	10	0/1/1	_	0.00	4	0	0	0.0	0.00	0.00	172.29.0.1	http/1.1	172.29.0.2:80	GET /serve-status HTTP/1.1
2-0	10	2/0/0	W	0.00	0	0	0	0.0	0.00	0.00	172.29.0.1	http/1.1	172.29.0.2:80	GET /server-status HTTP/1.1

访问http://127.0.0.1/server-info获取服务基础配置信息

Apache Server Information
Subpages:
Configuration Files, Server Settings, Module List, Active Hooks, Available Providers
Sections:
Loaded Modules, Server Settings, Startup Hooks, Request Hooks, Other Hooks, Providers
Loaded Modules
core.c, event.c, http_core.c, mod_access_compat.c, mod_alias.c, mod_auth_basic.c, mod_authn_core.c, mod_authn_file.c, mod_authz_core.c, mod_authz_groupfile.c, mod_authz_host.c, mod_authz_user.c, mod_autoindex.c, mod_dir.c, mod_env.c, mod_filter.c, mod_headers.c, mod_info.c, mod_log_config.c, mod_mime.c, mod_reqtimeout.c, mod_setenvif.c, mod_so.c, mod_status.c, mod_unixd.c, mod_version.c,
Server Settings
Server Version: Apache/2.4.55 (Unix)
Server Built: Feb 11 2023 09:43:46
Server loaded APR Version: 1.7.2
Compiled with APR Version: 1.7.2
Server loaded APU Version: 1.6.3
Compiled with APU Version: 1.6.3
Server loaded PCRE Version: 8.45 2021-06-15
Compiled with PCRE Version: 8.45 2021-06-15
Module Magic Number: 20120211:126
Hostname/port: 127.0.0.1:80
Timeouts: connection: 60    keep-alive: 5
MPM Name: event
MPM Information: Max Daemons: 4 Threaded: yes Forked: yes
Server Architecture: 64-bit
Server Root: /usr/local/apache2
Config File: /usr/local/apache2/conf/httpd.conf
Server Built With: 
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_PROC_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT="/usr/local/apache2"
 -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"
Startup Hooks
Apache Server Information
Subpages:
Configuration Files, Server Settings, Module List, Active Hooks, Available Providers
Sections:
Loaded Modules, Server Settings, Startup Hooks, Request Hooks, Other Hooks, Providers
Loaded Modules
core.c, event.c, http_core.c, mod_access_compat.c, mod_alias.c, mod_auth_basic.c, mod_authn_core.c, mod_authn_file.c, mod_authz_core.c, mod_authz_groupfile.c, mod_authz_host.c, mod_authz_user.c, mod_autoindex.c, mod_dir.c, mod_env.c, mod_filter.c, mod_headers.c, mod_info.c, mod_log_config.c, mod_mime.c, mod_reqtimeout.c, mod_setenvif.c, mod_so.c, mod_status.c, mod_unixd.c, mod_version.c,
Server Settings
Server Version: Apache/2.4.55 (Unix)
Server Built: Feb 11 2023 09:43:46
Server loaded APR Version: 1.7.2
Compiled with APR Version: 1.7.2
Server loaded APU Version: 1.6.3
Compiled with APU Version: 1.6.3
Server loaded PCRE Version: 8.45 2021-06-15
Compiled with PCRE Version: 8.45 2021-06-15
Module Magic Number: 20120211:126
Hostname/port: 127.0.0.1:80
Timeouts: connection: 60    keep-alive: 5
MPM Name: event
MPM Information: Max Daemons: 4 Threaded: yes Forked: yes
Server Architecture: 64-bit
Server Root: /usr/local/apache2
Config File: /usr/local/apache2/conf/httpd.conf
Server Built With: 
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_PROC_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT="/usr/local/apache2"
 -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"
Startup Hooks

Last updated:

Released under the MIT License.