
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该Docker镜像基于openresty/openresty-alpine-apk构建,是一个轻量级的web服务器,核心功能为返回客户端的HTTP请求头信息,适用于内部HTTP调试场景。镜像仅修改了NGINX配置文件,未添加其他额外组件,保持了简洁性与可扩展性。
可直接从Docker Hub拉取镜像,或克隆仓库修改配置后构建:
bashdocker pull fwestermark/header-app:latest
bashdocker run --name header-app -p 80:80 fwestermark/header-app:latest
基础配置
yamlheader-app: image: fwestermark/header-app:latest container_name: header-app hostname: header-app restart: unless-stopped ports: - 80:80 - 443:443 # volumes: # - ./headers-app/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf:ro # 注意:启动前需创建或编辑nginx.conf文件,避免Docker将其识别为目录
日常生产配置
yamlheader-app: image: fwestermark/header-app:latest container_name: header-app hostname: header-app restart: unless-stopped ports: - <ip>:80:80 - <ip>:443:443 volumes: - ./header-app/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf:ro - ./header-app/config:/usr/local/openresty/nginx/conf/config:ro - ./header-app/html:/usr/local/openresty/nginx/html:ro - ./header-app/http.access.log:/var/log/http.access.log - ./header-app/https.access.log:/var/log/https.access.log - ./header-app/cert.pem:/etc/ssl/private/cert.pem:ro - ./header-app/private.key:/etc/ssl/private/private.key:ro - ./header-app/ca_chain.pem:/etc/ssl/private/ca_chain.pem:ro
nginxevents { worker_connections 1024; } http { log_format custom '$remote_addr - $ssl_client_s_dn - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" "$http_user_agent" "$upstream_response_time"'; error_log stderr debug; default_type application/octet-stream; server { server_name header-app.domain.tld; ssi on; listen 80; access_log /var/log/http.access.log custom; root /usr/local/openresty/nginx/html; index index.html index.htm; add_header X-Real-Server $hostname; location / { try_files $uri $uri/index.html $uri/ =404; } location /errorcodes/501/ { return 501 '501 error'; } location /errorcodes/503/ { return 503 '503 error'; } } server { server_name header-app.domain.tld; ssi on; listen 443 ssl; access_log /var/log/https.access.log custom; root /usr/local/openresty/nginx/html; index index.html index.htm; add_header X-Real-Server $hostname; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_certificate /etc/ssl/private/cert.pem; ssl_certificate_key /etc/ssl/private/private.key; ssl_client_certificate /etc/ssl/private/rawlish_ca_chain.pem; ssl_verify_client optional; location / { try_files $uri $uri/index.html $uri/ =404; } location /errorcodes/501/ { return 501 '501 error'; } location /errorcodes/503/ { return 503 '503 error'; } } }
. ├── css │ └── style.css ├── favicon.ico ├── index.html └── info └── index.html
html<!DOCTYPE html> <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> <link href="/css/style.css" type="text/css" rel="stylesheet" /> </head> <body> <h2><!--# echo var="server_name" --></h2> <pre> date is <!--# echo var="date_local" --> tcp connect from <!--# echo var="remote_addr" --> ====== start: client tls request TLS protocol: <!--# echo var="ssl_protocol" --> Client selected ciphers: <!--# echo var="ssl_cipher" --> Client provided SNI name: <!--# echo var="ssl_server_name" --> Client certificate serial number: <!--# echo var="ssl_client_serial" --> Client certificate end date: <!--# echo var="ssl_client_v_end" --> (<!--# echo var="ssl_client_v_remain" --> days remaining) Certificate issuer: <!--# echo var="ssl_client_i_dn" --> Certificate subject: <!--# echo var="ssl_client_s_dn" --> ====== end: client tls request ====== start: client http request headers <!--# echo var="echo_client_request_headers" --> ====== end: client http request headers ====== start: client request body <!--# echo var="request_body" --> ====== end: client request body ====== start: server response requested content << EOF </pre> </body> </html>
采用MIT许可证分发,详情请查看LICENSE文件。
基于https://github.com/brndnmtthws/nginx-echo-headers%E7%9A%84%E6%80%9D%E8%B7%AF%E5%BC%80%E5%8F%91%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务