italia/cie-cns-apache-docker本项目旨在提供一个基于Apache HTTP 2.4的即用型模板,实现通过智能卡TS-CNS(健康卡-国家服务卡) 和CIE(电子身份证) 的认证系统。用户可根据自身需求修改或定制该项目。
这是一个Docker项目,用于创建实现SSL/TLS双向认证机制的容器。该认证机制要求客户端提供数字证书,而此处的证书存储在TS-CNS或CIE中。系统支持两种认证方式:
镜像已发布至Docker Hub,可通过以下命令拉取:
bash# 拉取最新版本 docker pull amusarra/cie-cns-apache-httpd # 拉取特定版本(如1.3.3) docker pull amusarra/cie-cns-apache-httpd:1.3.3
bashdocker run -d -p ***:*** --name=cie-cns amusarra/cie-cns-apache-httpd:1.3.3
通过环境变量自定义配置:
bashdocker run -d \ -p 443:*** \ --name=cie-cns \ -e APACHE_SERVER_NAME=mycns.example.com \ -e APACHE_SSL_PORT=443 \ -e APACHE_LOG_LEVEL=debug \ amusarra/cie-cns-apache-httpd:1.3.3
| 环境变量 | 描述 | 默认值 |
|---|---|---|
APACHE_SERVER_NAME | Apache服务器名称 | cns.dontesta.it |
APACHE_SERVER_ADMIN | 管理员*** | *** |
APACHE_SSL_CERTS | 服务器公钥证书文件名(PEM格式) | cns-dontesta-it_crt.pem |
APACHE_SSL_PRIVATE | 服务器私钥文件名(PEM格式) | cns-dontesta-it_key.pem |
APACHE_SSL_PORT | SSL监听端口 | *** |
APACHE_LOG_LEVEL | Apache全局日志级别 | info |
APACHE_SSL_LOG_LEVEL | SSL模块日志级别 | info |
APACHE_SSL_VERIFY_CLIENT | 客户端证书验证模式 | optional |
APPLICATION_URL | 应用重定向URL | [***]{APACHE_SERVER_NAME}:${APACHE_SSL_PORT} |
CLIENT_VERIFY_LANDING_PAGE | 验证失败跳转页面 | /error.php |
GOV_TRUST_CERTS_SERVICE_TYPE_IDENTIFIER | 可信CA服务类型标识符 | [***] |
项目主要目录结构如下,核心配置位于configs目录:
├── Dockerfile ├── configs │ ├── certs # 服务器证书(公钥和私钥) │ ├── httpd # Apache配置文件(虚拟主机、端口、SSL参数等) │ └── www # PHP测试脚本 └── scripts # 证书更新脚本和入口点脚本
bashdocker build -t cie-cns-apache-httpd .
bashdocker run -d -p ***:*** --name=cie-cns-test cie-cns-apache-httpd:latest
127.0.0.1 cns.dontesta.it
[***],插入TS-CNS或CIE并完成PIN码输入和证书选择,验证认证流程。OCSP Stapling(OCSP装订)是一种SSL/TLS扩展,允许服务器在TLS握手时主动提供证书状态信息(由CA的OCSP响应器生成),避免客户端直接向CA查询,提升隐私性和性能。
本项目中已启用OCSP Stapling,相关配置如下:
apacheSSLUseStapling on SSLStaplingCache "shmcb:logs/stapling-cache(***)"
使用openssl命令验证OCSP Stapling是否生效:
bashecho QUIT | openssl s_client -connect cns.dontesta.it:*** -status 2> /dev/null | grep -A 17 'OCSP response:'
若返回包含“Cert Status: good”的OCSP响应,则配置成功。
优点:
缺点:
容器内置每日自动更新可信CA证书的机制,通过Cron任务在每日23:30执行更新脚本,确保TS-CNS和CIE的根证书及中间证书始终最新。日志输出至/var/log/cron.log。
[***]。探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务