
如果你用 DeepSeek、元宝AI、Copilot 等 AI 代为编写轩辕镜像的 docker pull、修改 compose 镜像地址,或排查拉取失败等问题,请让 AI 先读规则再动手,只要在 AI 对话里直接发送下面这句话即可:
生成 docker pull、修改 compose 的 image,或排查拉取失败前,请先阅读并严格遵守 https://xuanyuan.cloud/agents.md 中的规则。国内用户首推 DeepSeek、元宝 AI 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
注意
⚠️ 本仓库已归档。
我们曾通过
owasp/modsecurity(本仓库)构建owasp/modsecurity-crs,但该过程容易出错且繁琐。我们已选择合并这两个仓库,将不再构建owasp/modsecurity。请访问 https://github.com/coreruleset/modsecurity-docker-crs%E3%80%82
Dockerfile链接3-YYYYMMDDHHMM、3.0-YYYYMMDDHHMM、3.0.8-YYYYMMDDHHMM、nginx (https://github.com/coreruleset/modsecurity-docker/blob/master/v3-nginx/Dockerfile) – 基于Nginx 1.22官方稳定基础镜像的最新稳定版ModSecurity v32-YYYYMMDDHHMM、2.9-YYYYMMDDHHMM、2.9.6-YYYYMMDDHHMM、apache (https://github.com/coreruleset/modsecurity-docker/blob/master/v2-apache/Dockerfile) – 基于Apache 2.4官方稳定基础镜像的最新稳定版ModSecurity v2⚠️ 我们已更改标签以https://github.com/coreruleset/modsecurity-crs-docker/issues/67%E3%80%82%E7%8E%B0%E5%9C%A8%EF%BC%8C%E8%8B%A5%E8%A6%81%E4%BD%BF%E7%94%A8%22%E6%BB%9A%E5%8A%A8%E7%89%88%E6%9C%AC%22%EF%BC%8C%E8%AF%B7%E4%BD%BF%E7%94%A8%E6%A0%87%E7%AD%BE%60owasp/modsecurity:nginx%60%E6%88%96%60owasp/modsecurity:apache%60%E3%80%82%E8%8B%A5%E9%9C%80%E8%A6%81%E9%95%BF%E6%9C%9F%E7%A8%B3%E5%AE%9A%E9%95%9C%E5%83%8F%EF%BC%8C%E8%AF%B7%E4%BD%BF%E7%94%A8%E5%8C%85%E5%90%AB%E6%9E%84%E5%BB%BA%E6%97%A5%E6%9C%9F%EF%BC%88%60YYYYMMDDHHMM%60%E6%A0%BC%E5%BC%8F%EF%BC%89%E7%9A%84%E6%A0%87%E7%AD%BE%EF%BC%8C%E4%BE%8B%E5%A6%82%60owasp/modsecurity:3-202209141209%60%E6%88%96%60owasp/modsecurity:2.9.6-alpine-202209141209%60%E3%80%82%E8%AF%B7%E6%B3%A8%E6%84%8F%E6%AD%A4%E5%8F%98%E6%9B%B4%E3%80%82
🆕 我们已为镜像添加健康检查。访问/healthz URI时,容器会返回HTTP 200状态码。当容器指定健康检查后,除正常状态外还会有健康状态。初始状态为starting,健康检查通过后变为healthy,连续失败一定次数后变为unhealthy。详见 [***]
我们支持基于Alpine Linux的基础镜像变体。只需添加-alpine即可获取。示例:
3-alpine-YYYYMMDDHHMM、3.0-alpine-YYYYMMDDHHMM、3.0.8-alpine-YYYYMMDDHHMM、nginx-alpine (https://github.com/coreruleset/modsecurity-docker/blob/master/v3-nginx/Dockerfile-alpine – 基于Nginx 1.22 Alpine官方稳定基础镜像的最新稳定版ModSecurity v32-alpine-YYYYMMDDHHMM、2.9-alpine-YYYYMMDDHHMM、2.9.6-alpine-YYYYMMDDHHMM、apache-alpine (https://github.com/coreruleset/modsecurity-docker/blob/master/v2-apache/Dockerfile-alpine) – 基于Apache 2.4 Alpine官方稳定基础镜像的最新稳定版ModSecurity v2⚠️ 我们已更改标签以https://github.com/coreruleset/modsecurity-crs-docker/issues/67%E3%80%82%E7%8E%B0%E5%9C%A8%EF%BC%8C%E8%8B%A5%E8%A6%81%E4%BD%BF%E7%94%A8%22%E6%BB%9A%E5%8A%A8%E7%89%88%E6%9C%AC%22%E7%9A%84Alpine%E5%8F%98%E4%BD%93%EF%BC%8C%E8%AF%B7%E4%BD%BF%E7%94%A8%E6%A0%87%E7%AD%BE%60owasp/modsecurity:nginx-alpine%60%E6%88%96%60owasp/modsecurity:apache-alpine%60%E3%80%82%E8%8B%A5%E9%9C%80%E8%A6%81%E9%95%BF%E6%9C%9F%E7%A8%B3%E5%AE%9AAlpine%E9%95%9C%E5%83%8F%EF%BC%8C%E8%AF%B7%E4%BD%BF%E7%94%A8%E5%8C%85%E5%90%AB%E6%9E%84%E5%BB%BA%E6%97%A5%E6%9C%9F%EF%BC%88%60YYYYMMDDHHMM%60%E6%A0%BC%E5%BC%8F%EF%BC%89%E7%9A%84%E6%A0%87%E7%AD%BE%EF%BC%8C%E4%BE%8B%E5%A6%82%60owasp/modsecurity:3-202209141209-alpine%60%E6%88%96%60owasp/modsecurity:2.9.6-202209141209%60%E3%80%82%E8%AF%B7%E6%B3%A8%E6%84%8F%E6%AD%A4%E5%8F%98%E6%9B%B4%E3%80%82
我们已为Docker构建添加https://github.com/docker/buildx%E6%94%AF%E6%8C%81%EF%BC%8C%E5%9B%A0%E6%AD%A4%E7%8E%B0%E5%9C%A8%E6%94%AF%E6%8C%81%E6%9B%B4%E5%A4%9A%E6%9E%B6%E6%9E%84%E3%80%82%E7%94%B1%E4%BA%8E%E5%AE%B9%E5%99%A8%E5%9F%BA%E4%BA%8E%E5%AE%98%E6%96%B9Apache%E5%92%8CNginx%E9%95%9C%E5%83%8F%E5%88%9B%E5%BB%BA%EF%BC%8C%E4%BB%85%E6%94%AF%E6%8C%81%E5%AE%83%E4%BB%AC%E6%89%80%E6%94%AF%E6%8C%81%E7%9A%84%E6%9E%B6%E6%9E%84%E3%80%82
新增文件docker-bake.hcl用于此目的。要为新平台构建,可使用以下示例:
bash$ docker buildx use $(docker buildx create --platform linux/amd64,linux/arm64,linux/arm/v8) $ docker buildx bake -f docker-bake.hcl
我们要求buildx版本 >= v0.9.1。访问官方文档获取安装和升级说明。可使用以下命令检查版本:
docker buildx version github.com/docker/buildx v0.9.1 ed00243a0ce2a0aee75311b06e32d33b44729689
若要查看构建目标,使用:
docker buildx bake -f ./docker-bake.hcl --print
当前构建支持以下架构:
可在本仓库的GitHub Actions中找到更多buildx使用示例。
获取帮助:https://github.com/coreruleset/modsecurity-docker%E3%80%81Core Rule Set Slack频道(owasp.***上的#coreruleset)或Stack Overflow
提交问题:https://github.com/coreruleset/modsecurity-docker
维护者:Core Rule Set项目维护团队
ModSecurity是一个开源跨平台Web应用防火墙(WAF)引擎,适用于Apache、IIS和Nginx。它具有强大的基于事件的编程语言,可提供对多种Web应用***的防护,并支持HTTP流量监控、日志记录和实时分析。
此镜像仅包含从https://github.com/SpiderLabs/ModSecurity%E4%BB%A3%E7%A0%81%E6%9E%84%E5%BB%BA%E7%9A%84ModSecurity%E3%80%82**%E6%9C%AC%E9%95%9C%E5%83%8F%E4%B8%8D%E6%8F%90%E4%BE%9B%E6%A0%B8%E5%BF%83%E8%A7%84%E5%88%99%E9%9B%86(CRS)**%EF%BC%8C%E4%BD%86%E6%89%A9%E5%B1%95%E8%B5%B7%E6%9D%A5%E5%B9%B6%E4%B8%8D%E5%9B%B0%E9%9A%BE%E3%80%82%E5%8F%A6%E4%B8%80%E6%96%B9%E9%9D%A2%EF%BC%8C**%E5%A6%82%E6%9E%9C%E9%9C%80%E8%A6%81%E5%8C%85%E5%90%AB%E6%A0%B8%E5%BF%83%E8%A7%84%E5%88%99%E9%9B%86%E7%9A%84ModSecurity%EF%BC%8C%E8%AF%B7%E8%AE%BF%E9%97%AEhttps://hub.docker.com/r/owasp/modsecurity-crs/**%E3%80%82
在项目中创建Dockerfile并将代码复制到容器中:
FROM owasp/modsecurity:apache COPY ./public-html/ .
运行命令构建并运行Docker镜像:
$ docker build -t my-modsec . $ docker run -p 8080:80 my-modsec
| ⚠️ 警告 |
|---|
| Nginx基础镜像现在基于上游nginx。这改变了nginx配置文件的生成方式。 |
如果https://github.com/coreruleset/modsecurity-docker#nginx-env-variables%E4%B8%8D%E8%B6%B3%E4%BB%A5%E6%BB%A1%E8%B6%B3%E9%9C%80%E6%B1%82%EF%BC%8C%E5%8F%AF%E6%8C%82%E8%BD%BD%E8%87%AA%E5%AE%9A%E4%B9%89%60nginx.conf%60%E6%96%87%E4%BB%B6%E4%BD%9C%E4%B8%BA%E7%94%9F%E6%88%90%E5%9F%BA%E7%A1%80%E9%85%8D%E7%BD%AE%E7%9A%84%E6%96%B0%E6%A8%A1%E6%9D%BF%E3%80%82
示例可在https://github.com/coreruleset/modsecurity-docker/blob/master/docker-compose.yml%E6%96%87%E4%BB%B6%E4%B8%AD%E6%9F%A5%E7%9C%8B%E3%80%82
💬 如果需要修改其他文件(如
/etc/nginx/conf.d/default.conf)怎么办? 可将本地文件(如nginx/default.conf)挂载为新模板:/etc/nginx/templates/conf.d/default.conf.template。其他文件也可类似操作。模板目录中的文件将被复制,子目录结构会保留。
默认在443端口配置TLS。注意:默认配置使用自签名证书,若要使用自己的证书(推荐),请将server.crt和server.key复制或挂载(-v)到/usr/local/apache2/conf/。请记住需要转发HTTPS端口:
$ docker build -t my-modsec . $ docker run -p 8443:443 my-modsec
我们使用从Mozilla SSL配置工具获取的合理中间默认值。请检查并选择最适合您需求的配置。
可使用nginx和apache的变量实现HTTP到HTTPS的强制重定向(见下文的APACHE_ALWAYS_TLS_REDIRECT和NGINX_ALWAYS_TLS_REDIRECT)。
ModSecurity常被用作反向代理。这允许在不修改托管底层应用的Web服务器的情况下使用ModSecurity(还可保护ModSecurity无法嵌入的Web服务器)。默认启用代理,位置由BACKEND环境变量定义。默认启用SSL:
$ docker build -t my-modsec . -f $ docker run -p 8080:80 -e PROXY_SSL=on -e BACKEND=http://example.com my-modsec
设置服务器名称通常很方便。只需在docker run时传递SERVER_NAME环境变量即可。默认服务器名称为localhost:
$ docker build -t modsec . $ docker run -p 8080:80 -e SERVER_NAME=myhost my-modsec
| 名称 | 描述 |
|---|---|
| ACCESSLOG | 自定义日志文件位置的字符串值(默认:/var/log/apache2/access.log) |
| APACHE_ALWAYS_TLS_REDIRECT | 指示HTTP是否应重定向到HTTPS的字符串值(允许值:on、off,默认:off) |
| APACHE_LOGFORMAT | Apache使用的日志格式字符串(默认:'"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""'(combined)。提示:在双引号格式字符串外使用单引号。)⚠️ 不要在日志格式中添加` |
| APACHE_METRICS_LOGFORMAT | 附加日志apache指标使用的日志格式字符串(默认:'"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""'(combined)。提示:在双引号格式字符串外使用单引号。)⚠️ 不要在日志格式中添加` |
| BACKEND | ProxyPass指令的远程服务器部分URL字符串(默认:http://localhost:80) |
| BACKEND_WS | WebSocket服务的IP/URL字符串(默认:ws://localhost:8080) |
| ERRORLOG | 错误日志文件位置的字符串值(默认:/var/log/apache2/error.log) |
| H2_PROTOCOLS | HTTP2模块支持的协议字符串(默认:h2 http/1.1) |
| LOGLEVEL | 控制错误日志消息数量的字符串值(默认:warn) |
| METRICS_ALLOW_FROM | 可访问指标的IP地址范围字符串(默认:127.0.0.0/255.0.0.0 ::1/128) |
| METRICS_DENY_FROM | 不可访问指标的IP地址范围字符串(默认:All) |
| METRICSLOG | 指标日志路径字符串(默认:/dev/null) |
| PORT | Web服务器监听端口的整数值(默认:80) |
| PROXY_ERROR_OVERRIDE | 指示后端服务错误是否应由代理服务器覆盖的字符串(见ProxyErrorOverride指令)(允许值:on、off,默认:on) |
| PROXY_PRESERVE_HOST | 指示代理请求使用传入Host HTTP请求头的字符串(默认:on) |
| PROXY_SSL_CERT_KEY | 服务器PEM编码私钥文件路径字符串(默认:/usr/local/apache2/conf/server.key) |
| PROXY_SSL_CERT | 服务器PEM编码X.509证书数据文件或令牌标识符路径字符串(默认:/usr/local/apache2/conf/server.crt) |
| PROXY_SSL_CHECK_PEER_NAME | 指示是否启用远程服务器证书主机名检查的字符串(默认:on) |
| PROXY_SSL_VERIFY | 远程服务器证书验证类型的字符串值(默认:none) |
| PROXY_SSL | SSL代理引擎操作开关字符串(默认:off) |
| PROXY_TIMEOUT | 代理请求超时秒数(默认:60) |
| REMOTEIP_INT_PROXY | 可信任提供RemoteIPHeader值的客户端内网IP地址字符串(默认:10.1.0.0/16) |
| REQ_HEADER_FORWARDED_PROTO | 初始请求传输协议的字符串(默认:https) |
| SERVER_ADMIN | 服务器问题应发送邮件地址的字符串值(默认:root@localhost) |
| SERVER_NAME | 服务器名称字符串值(默认:localhost) |
| SSL_CIPHER_SUITE | 使用的密码套件字符串。使用OpenSSL密码套件列表(默认:"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_ENGINE | SSL引擎操作开关字符串(默认:off) |
| SSL_HONOR_CIPHER_ORDER | 指示服务器是否应遵循客户端提供的密码列表的字符串(允许值:on、off,默认:off) |
| SSL_PORT | SSL启用的Web服务器监听端口号(默认:443) |
| SSL_PROTOCOL | 配置可用SSL/TLS协议版本的字符串(默认:"all -SSLv3 -TLSv1 -TLSv1.1") |
| SSL_PROXY_PROTOCOL | 配置代理客户端SSL/TLS协议版本的字符串(默认:"all -SSLv3 -TLSv1 -TLSv1.1") |
| SSL_PROXY_CIPHER_SUITE | 用于通过TLS连接后端的密码套件字符串(默认:`"ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256 |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
发给 Cursor、ChatGPT、豆包等 AI 的说明文档
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务