
yesinteractive/dadjokes!Dad Jokes As A Microservice
,并支持可选的请求信息回显,帮助用户测试和排查 API 网关、反向代理等组件的配置问题。
适用于以下测试场景:
/200 OKjson{ "Joke": { "Opener": "一堵墙对另一堵墙说了什么?", "Punchline": "我们在拐角见。", "Processing Time": "0.000537" }, "DadJokesInfo": { "SourceCode": "[***]", "Version": "20250315" } }
通过以下两种方式启用请求信息回显:
设置环境变量 DADJOKES_NOECHO=FALSE,全局启用回显。
/echo在请求路径中加入 /echo(如 /echo/abc/efg/),临时启用回显。
json{ "Joke": { "Opener": "没有眼睛的鹿叫什么?", "Punchline": "不知道(No eye-deer)!", "Processing Time": "0.000434" }, "RequestEcho": { "Headers": { "Host": "somehost.com", "Connection": "keep-alive", "sec-ch-ua": "\"Chromium\";v=\"134\", \"Not:A-Brand\";v=\"24\", \"Google Chrome\";v=\"134\"", "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": "\"Windows\"", "DNT": "1", "Upgrade-Insecure-Requests": "1", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Encoding": "gzip, deflate, br, zstd", "Accept-Language": "en-US,en;q=0.9", "Cookie": "mycooking=myvalue;" }, "Method": "GET", "Origin": "123.45.67.123", "URI": "/echo/abc/efg/", "Arguments": { "uri": "/echo/abc/efg/" }, "Data": "", "URL": "[***]" }, "DadJokesInfo": { "SourceCode": "[***]", "Version": "20250315" } }
若服务部署在反向代理或 API 网关后,需回显原始请求 URI(而非上游代理目标 URI),可通过以下方式配置:
DADJOKES_BEHIND_PROXY=TRUEconfig/fsl_config.php 中 behind_proxy 为 true| 环境变量 | 默认值 | 说明 |
|---|---|---|
DADJOKES_NOECHO | TRUE | 是否禁用请求回显:TRUE(禁用)/FALSE(启用) |
DADJOKES_BEHIND_PROXY | FALSE | 是否适配反向代理:TRUE(启用,回显原始请求 URI)/FALSE(默认) |
bashdocker pull yesinteractive/dadjokes
bashdocker run -d \ -p 8100:8100 \ # HTTP 端口映射 -p 8143:8143 \ # HTTPS 端口映射(自签名证书) yesinteractive/dadjokes
bashdocker run -d \ -p 8100:8100 \ -p 8143:8143 \ -e DADJOKES_NOECHO=FALSE \ # 启用回显 yesinteractive/dadjokes
bashdocker run -d \ -p 8100:8100 \ -p 8143:8143 \ -e DADJOKES_BEHIND_PROXY=TRUE \ # 适配反向代理 yesinteractive/dadjokes
dockerfileFROM yesinteractive/dadjokes # 添加自定义命令(如修改配置、添加自定义笑话等) RUN echo "自定义命令"
更多部署示例(Kubernetes、Kong Ingress、docker-compose 等)可参考 GitHub 示例目录。
可访问 [***] 查看服务实际效果。
MIT 许可证(详情见 GitHub 仓库)。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务