配置
需要修改apache httpd加载配置文件httpd-info.conf
需要开放访问server-info和server-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.confFROM 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.1Apache 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 HooksApache 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