traefik/traefikee-webapp-demowhoami 是一个小型 Go 语言 Web 服务器,主要用途是打印操作系统信息(如主机名、IP 地址)和接收到的 HTTP 请求详情(如请求方法、路径、头信息)到输出,便于快速查看请求与系统信息。
/data、/echo、/bench、/api、/health 等多个功能端点,满足不同场景需求/) 和 /api 端点返回主机名、IP 地址及 HTTP 请求详情(支持 JSON 格式)/data 端点可生成指定大小的响应(支持字节、KB、MB 等单位)wait 参数设置响应延迟(如 /?wait=100ms)/echo 端点提供 WebSocket 连接测试,接收消息后实时回显/bench 端点固定返回 1,适用于简单基准测试/health 端点支持 POST 方法修改 GET/HEAD 等请求的响应状态码/echo 端点验证 WebSocket 连接建立与消息传输/data?size=n[&unit=u]生成指定大小的响应。
size=n:必填,响应大小数值(正整数)unit=u:可选,单位(支持 KB/MB/GB/TB,默认:字节)/data?size=2&unit=MB 返回 2MB 大小的响应体/echoWebSocket 回显端点。
/bench基准测试端点。
1,状态码 200/[?wait=d]返回系统与请求信息。
wait=d:可选,响应延迟时间(Go time.Duration 格式,如 100ms、2s)Hostname : 6e0030e67d6a IP : 127.0.0.1 IP : ::1 IP : 172.17.0.27 GET / HTTP/1.1 Host: 0.0.0.0:32769 User-Agent: curl/7.35.0 Accept: */*
/api以 JSON 格式返回系统与请求信息。
json{"hostname":"6e0030e67d6a","ip":["127.0.0.1","::1","172.17.0.27"],"method":"GET","path":"/api",...}
/health健康检查端点。
GET/HEAD 等方法:返回当前配置的状态码(默认:200)POST 方法:修改 GET/HEAD 的响应状态码(需提交状态码数值)
curl -X POST -d '500' http://localhost:80/health 将状态码修改为 500--cert:TLS 证书文件路径(启用 HTTPS 时必填,需与 --key 同时指定)--key:TLS 密钥文件路径(启用 HTTPS 时必填,需与 --cert 同时指定)--port:服务监听端口(默认:80)--name:自定义名称(可通过环境变量 WHOAMI_NAME 设置,若同时指定标志和环境变量,标志优先级更高)WHOAMI_NAME:自定义名称,与 --name 标志功能相同随机映射端口并后台运行:
consoledocker run -d -P --name iamfoo traefik/traefikee-webapp-demo
查看容器端口映射(获取宿主机访问端口):
consoledocker inspect --format '{{ .NetworkSettings.Ports }}' iamfoo # 输出示例:map[80/tcp:[{0.0.0.0 32769}]],表示宿主机 32769 端口映射容器 80 端口
访问服务(替换为实际端口):
consolecurl "[***]" # 输出示例: # Hostname : 6e0030e67d6a # IP : 127.0.0.1 # IP : ::1 # IP : 172.17.0.27 # GET / HTTP/1.1 # Host: 0.0.0.0:32769 # User-Agent: curl/7.35.0 # Accept: */*
挂载本地证书文件并启用 HTTPS:
console# 假设宿主机 ./certs 目录下有 cert.cer(证书)和 key.key(密钥) docker run -d -P -v ./certs:/certs --name iamfoo-ssl traefik/traefikee-webapp-demo \ --cert /certs/cert.cer --key /certs/key.key
修改并验证健康检查状态码:
console# 修改健康检查状态码为 500 curl -X POST -d '500' http://localhost:80/health # 验证状态码(需替换为实际端口) curl -v http://localhost:32769/health # 输出应包含:< HTTP/1.1 500 Internal Server Error
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务