轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
mendhak/http-https-echo
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

http-https-echo Docker 镜像下载 - 轩辕镜像

http-https-echo 镜像详细信息和使用指南

http-https-echo 镜像标签列表和版本信息

http-https-echo 镜像拉取命令和加速下载

http-https-echo 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

http-https-echo
mendhak/http-https-echo
自动构建

http-https-echo 镜像详细信息

http-https-echo 镜像标签列表

http-https-echo 镜像使用说明

http-https-echo 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

监听HTTP/HTTPS请求,将请求头、请求体等详细信息回显给客户端并记录到容器日志,支持多种功能配置。
68 收藏0 次下载activemendhak镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

http-https-echo 镜像详细说明

http-https-echo 使用指南

http-https-echo 配置说明

http-https-echo 官方文档

mendhak/http-https-echo 镜像文档

mendhak/http-https-echo 是一个 Docker 镜像,能够将各种 HTTP 请求属性回显给客户端,并同时记录到 Docker 容器日志中。它提供多种可操作响应输出的选项,完整功能列表参见下文。

!浏览器展示

该镜像可在 Docker Hub 获取:mendhak/http-https-echo:31
也可在 GitHub 容器仓库 获取:ghcr.io/mendhak/http-https-echo:31

请勿使用 :latest 标签,它可能会无预警地失效,请使用具体版本标签。

此镜像默认以非 root 用户执行,完全兼容 Kubernetes 或 OpenShift 部署。

基本使用

Docker 运行

docker run -p 8080:8080 -p 8443:8443 --rm -t mendhak/http-https-echo:31

Docker Compose 运行

docker-compose up

然后,通过浏览器或 curl 发送请求,观察响应内容及容器日志输出:

curl -k -X PUT -H "Arbitrary:Header" -d aaa=bbb https://localhost:8443/hello-world

自定义端口

可通过 HTTP_PORT 和 HTTPS_PORT 环境变量修改内部端口(默认 8080/8443)。

示例:将 HTTP 端口设为 8888,HTTPS 端口设为 9999

docker run -e HTTP_PORT=8888 -e HTTPS_PORT=9999 -p 8080:8888 -p 8443:9999 --rm -t mendhak/http-https-echo:31

Docker Compose 配置:

my-http-listener:
    image: mendhak/http-https-echo:31
    environment:
        - HTTP_PORT=8888
        - HTTPS_PORT=9999
    ports:
        - "8080:8888"
        - "8443:9999"

使用自定义证书

默认证书路径为 /app/fullchain.pem(证书)和 /app/privkey.pem(私钥)。可通过卷挂载替换为自定义证书:

my-http-listener:
    image: mendhak/http-https-echo:31
    ports:
        - "8080:8080"
        - "8443:8443"
    volumes:
        - /etc/ssl/certs/ssl-cert-snakeoil.pem:/app/fullchain.pem
        - /etc/ssl/private/ssl-cert-snakeoil.key:/app/privkey.pem

也可通过 HTTPS_CERT_FILE 和 HTTPS_KEY_FILE 环境变量指定容器内证书路径。

解码 JWT 头

通过 JWT_HEADER 环境变量指定包含 JWT 的请求头,回显输出将包含解码后的 JWT 信息:

docker run -e JWT_HEADER=Authentication -p 8080:8080 -p 8443:8443 --rm -it mendhak/http-https-echo:31

发送包含 JWT 的请求(支持 Authentication: Bearer <token> 格式):

curl -k -H "Authentication: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" http://localhost:8080/

响应中将出现 jwt 字段。

禁用 ExpressJS 日志行

设置 DISABLE_REQUEST_LOGS=true 可禁用 ExpressJS 特定请求日志行(如 ::ffff:172.17.0.1 - - [03/Jan/2022:21:31:51 +0000] "GET /xyz HTTP/1.1" 200 423 "-" "curl/7.68.0"),JSON 输出不受影响:

docker run --rm -e DISABLE_REQUEST_LOGS=true --name http-echo-tests -p 8080:8080 -p 8443:8443 -t mendhak/http-https-echo:31

忽略特定路径日志

通过 LOG_IGNORE_PATH 环境变量设置无需详细记录到 stdout 的路径,可减少健康检查等场景的日志噪音:

docker run -e LOG_IGNORE_PATH=/ping -p 8080:8080 -p 8443:8443 --rm -t mendhak/http-https-echo:31

Docker Compose 配置:

my-http-listener:
    image: mendhak/http-https-echo:31
    environment:
        - LOG_IGNORE_PATH=/ping
    ports:
        - "8080:8080"
        - "8443:8443"

JSON 负载与输出

当请求体为 JSON 且 Content-Type 为 application/json 时,响应将包含解析后的 JSON 数据:

curl -X POST -H "Content-Type: application/json" -d '{"a":"b"}' http://localhost:8080/

响应/输出中将出现 json 字段:

{
    ...
    "xhr": false,
    "connection": {},
    "json": {
        "a": "b"
    }
}

日志无换行

设置 LOG_WITHOUT_NEWLINE=true 可禁用日志输出中的换行:

docker run -e LOG_WITHOUT_NEWLINE=true -p 8080:8080 -p 8443:8443 --rm -t mendhak/http-https-echo:31

空响应

设置 ECHO_BACK_TO_CLIENT=false 可禁用响应中的 JSON 输出:

docker run -e ECHO_BACK_TO_CLIENT=false -p 8080:8080 -p 8443:8443 --rm -t mendhak/http-https-echo:31

自定义状态码

通过 x-set-response-status-code 头或查询参数设置响应状态码:

作为请求头

curl -v -H "x-set-response-status-code: 401" http://localhost:8080/

作为查询参数

curl -v http://localhost:8080/some/path?x-set-response-status-code=401

响应状态码将变为:

HTTP/1.1 401 Unauthorized

设置响应 Content-Type

通过 x-set-response-content-type 头或查询参数设置响应 Content-Type:

作为请求头

curl -H "X-Set-Response-Content-Type: text/plain" -kv https://localhost:8443/

作为查询参数

curl -kv https://localhost:8443/path?x-set-response-content-type=text/plain

响应头将包含:

< Content-Type: text/plain; charset=utf-8

响应延迟

通过 x-set-response-delay-ms 头或查询参数设置响应延迟(毫秒),用于模拟慢响应:

作为请求头

curl -v -H "x-set-response-delay-ms: 6000" http://localhost:8080/

作为查询参数

curl -v http://localhost:8080/some/path?x-set-response-delay-ms=6000

仅返回请求体

使用查询参数 response_body_only=true 可仅返回请求体,不包含元数据:

curl -s -k -X POST -d 'cauliflower' http://localhost:8080/a/b/c?response_body_only=true

输出将为 cauliflower。

响应包含环境变量

设置 ECHO_INCLUDE_ENV_VARS=1 可在响应中包含容器进程可见的环境变量(默认不启用,因可能包含敏感信息):

docker run -d --rm -e ECHO_INCLUDE_ENV_VARS=1 --name http-echo-tests -p 8080:8080 -p 8443:8443 -t mendhak/http-https-echo:31

请求后响应中将出现 env 字段。

客户端证书详情(mTLS)

设置 MTLS_ENABLE=1 可在响应中包含客户端证书详情(客户端证书不会被验证)。

示例:使用 curl 传递客户端证书和密钥

curl -k --cert cert.pem --key privkey.pem https://localhost:8443/

响应中将包含客户端证书详情。

浏览器访问:Firefox 仅在导入与服务器同签发者的证书时才会提示选择客户端证书。如需浏览器提示,需将证书转换为 PKCS12 格式:

openssl pkcs12 -export -in cert.pem -inkey privkey.pem -out certpkcs12.pfx

Prometheus 指标

设置 PROMETHEUS_ENABLED=true 可暴露 HTTP 性能指标,指标路径默认为 /metrics(基于 express-prom-bundle 中间件)。

可通过以下变量配置指标:

变量名描述默认值
PROMETHEUS_ENABLED启用 Prometheus 中间件false
PROMETHEUS_METRICS_PATH指标暴露路径/metrics
PROMETHEUS_WITH_PATH按请求路径拆分指标false
PROMETHEUS_WITH_METHOD按 HTTP 方法拆分指标true
PROMETHEUS_WITH_STATUS按 HTTP 状态码拆分指标true
PROMETHEUS_METRIC_TYPE指标类型(histogram 或 summary)summary

更多详情参见 中间件文档。

截图

curl 输出

!curl

docker logs 输出

!dockerlogs

构建与测试

构建镜像

docker build -t mendhak/http-https-echo .

运行测试

./tests.sh

推送新版本

git tag -s 16
git push --tags

变更日志

参见 changelog

查看更多 http-https-echo 相关镜像 →

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.