新闻详情

新闻详情

首页 / 资讯中心 / 详情

Debian OpenSSL CA 根证书与 Apache HTTPS 配置

发布时间:2026/10/1 15:16:24来源:尧图网络
Debian OpenSSL CA 根证书与 Apache HTTPS 配置
Debian OpenSSL CA 根证书与 Apache HTTPS 配置1. 服务介绍本篇在 Debian 上创建实验 CA 根证书使用 CA 为 Apache 网站签发服务器证书再启用 HTTPS、HTTP 到 HTTPS 重定向和 WordPress/Web 站点。CA 负责签发与验证证书Apache 负责提供 Web 服务NFS/MariaDB 等后端按实际拓扑独立部署。实验目标• CA 根证书保存到/csk-rootca/csk-ca.pem。• 根 CA Subject 使用CSK Global Root CA服务证书使用*.chinaskills.cn。• Apache 使用 CA 签发的证书提供 443 HTTPS并把 HTTP 请求重定向到 HTTPS。• 客户端导入根 CA 后访问站点不出现信任警告。• Apache 以受限用户运行站点根目录使用/webdata隐藏版本信息。2. 准备运行环境• 操作系统Debian Linux已安装 OpenSSL、Apache2生产系统使用受支持版本。• 权限root 或 sudo 管理账号CA 私钥只允许 root 读取。• 域名www.chinaskills.cn服务证书 SAN 必须包含实际访问域名。• 角色CA 主机、Apache Web 主机、客户端CA 与申请者可以是同一台也可以分离。• 证书目录根 CA 公钥路径/csk-rootca/csk-ca.pem私钥使用独立受限目录。• 后端若/webdata来自 StorageSrv NFS先验证 NFS 挂载WordPress 数据库可放在独立 MariaDB 主机。• 网络TCP 80、443CA 与申请者之间使用安全传输方式不直接暴露私钥。3. 相关知识与注意点• 根 CA 私钥是信任体系核心。丢失或泄露会影响所有已签发证书生产环境使用离线根 CA、颁发 CA、加密备份和严格权限。• 客户端需要信任根 CA 公钥Apache 需要服务器证书和对应私钥。不要把 CA 私钥复制到 Web 服务器。• Subject CN 不能替代 SAN。现代浏览器按 SAN 校验域名证书必须包含www.chinaskills.cn或适用通配符。•CA.pl依赖 OpenSSL 配置和工作目录批量环境建议使用明确的 openssl.cnf 和独立 CA 数据目录避免误用其他 CA 状态文件。• 证书申请文件 CSR 可以跨主机传递私钥不应离开申请主机签名完成后只传回证书和必要的 CA 链。• Apache TLS 配置修改后先apachectl configtest再 reload证书验证同时看 SAN、有效期、Issuer、私钥匹配和客户端信任。• Apache 版本隐藏只能减少信息泄露不能替代更新、最小权限、访问控制和安全响应头。4. 实验步骤4.1 安装 OpenSSL 和 Apacheapt update apt install -y openssl apache2 systemctl enable --now apache2 openssl version apachectl -v如果需要重做实验 CA先备份旧目录和 CA 数据库再清理不要在生产 CA 上直接执行删除命令mv /csk-rootca /csk-rootca.backup.$(date %F-%H%M%S) 2/dev/null || true4.2 创建 CA 根证书创建受限目录install -d -o root -g root -m 0700 /csk-rootca install -d -o root -g root -m 0700 /csk-rootca/private使用 Debian OpenSSL 辅助脚本创建 CAcd /csk-rootca /usr/lib/ssl/misc/CA.pl -newca交互输入时设置Common NameCSK Global Root CA CountryCN StateChina LocalityBeiJing Organizationskills Organizational UnitOperations DepartmentsCA 会生成数据库、序列号、私钥和根证书。根证书只读分发install -m 0644 demoCA/cacert.pem /csk-rootca/csk-ca.pem chmod 0600 demoCA/private/cakey.pem openssl x509 -in /csk-rootca/csk-ca.pem -noout -subject -issuer -dates -fingerprint -sha256原实验 CA 初始化截图4.3 生成服务器密钥和 CSR在 Apache 申请主机生成私钥私钥不传给 CAinstall -d -o root -g root -m 0750 /etc/apache2/ssl openssl genrsa -out /etc/apache2/ssl/www.chinaskills.cn.key 2048 chmod 0600 /etc/apache2/ssl/www.chinaskills.cn.key创建包含 SAN 的 CSR 配置cat /etc/apache2/ssl/www.chinaskills.cn.cnf EOF [req] distinguished_name req_distinguished_name req_extensions req_ext prompt no [req_distinguished_name] C CN ST China L BeiJing O skills OU Operations Departments CN www.chinaskills.cn [req_ext] subjectAltName alt_names [alt_names] DNS.1 www.chinaskills.cn DNS.2 *.chinaskills.cn EOF openssl req -new \ -key /etc/apache2/ssl/www.chinaskills.cn.key \ -out /etc/apache2/ssl/www.chinaskills.cn.csr \ -config /etc/apache2/ssl/www.chinaskills.cn.cnf4.4 把 CSR 交给 CA 签名CA 与申请者同机时把 CSR 放到 CA 工作目录分离部署时只传 CSRscp /etc/apache2/ssl/www.chinaskills.cn.csr \ rootCA_HOST:/tmp/www.chinaskills.cn.csrCA 端签名cd /csk-rootca cp /tmp/www.chinaskills.cn.csr newreq.pem /usr/lib/ssl/misc/CA.pl -sign确认签发者、主题、SAN 和有效期openssl x509 -in newcert.pem -noout -subject -issuer -dates -ext subjectAltName install -m 0644 newcert.pem /tmp/www.chinaskills.cn.crt把服务器证书传回 Apache 主机scp /tmp/www.chinaskills.cn.crt rootAPACHE_HOST:/etc/apache2/ssl/根 CA 公钥分发给客户端install -m 0644 /csk-rootca/csk-ca.pem /safe/share/csk-ca.pem4.5 配置 Apache HTTPS 和 HTTP 重定向启用 SSL 模块和站点a2enmod ssl headers rewrite a2ensite default-ssl.conf创建站点配置/etc/apache2/sites-available/www.chinaskills.cn.confVirtualHost *:80 ServerName www.chinaskills.cn DocumentRoot /webdata Redirect permanent / https://www.chinaskills.cn/ /VirtualHost VirtualHost *:443 ServerName www.chinaskills.cn DocumentRoot /webdata SSLEngine on SSLCertificateFile /etc/apache2/ssl/www.chinaskills.cn.crt SSLCertificateKeyFile /etc/apache2/ssl/www.chinaskills.cn.key Directory /webdata Options -Indexes AllowOverride None Require all granted /Directory ServerTokens Prod ServerSignature Off Header always set X-Content-Type-Options nosniff /VirtualHost启用站点并检查a2ensite www.chinaskills.cn.conf apachectl configtest systemctl reload apache2原实验 Apache TLS 和 CA 信任截图4.6 配置网站目录和后端创建站点目录install -d -o webuser -g www-data -m 0750 /webdata printf %s\n This is the front page of CSKs website /webdata/index.html chown webuser:www-data /webdata/index.html chmod 0640 /webdata/index.html如果/webdata来自 StorageSrv NFS先确认挂载findmnt /webdata showmount -e STORAGE_HOST mount -t nfs STORAGE_HOST:/webdata /webdataWordPress 数据库密码只使用占位符实际密码通过安全凭据传递apt install -y wordpress php libapache2-mod-php php-mysql cp -R /usr/share/wordpress/* /webdata/ chown -R webuser:www-data /webdata/编辑wp-config.php时使用独立数据库账号不使用 MariaDB root 账号站点目录和数据库权限分离。5. 验证结果5.1 CA 和服务器证书openssl x509 -in /csk-rootca/csk-ca.pem -noout -subject -issuer -dates openssl x509 -in /etc/apache2/ssl/www.chinaskills.cn.crt -noout -subject -issuer -dates -ext subjectAltName openssl verify -CAfile /csk-rootca/csk-ca.pem /etc/apache2/ssl/www.chinaskills.cn.crt预期服务器证书 Issuer 为实验 CASAN 包含访问域名验证结果为OK。5.2 Apache、HTTP 和 HTTPSapachectl configtest systemctl is-active apache2 ss -lntp | grep -E :80|:443 curl -I http://www.chinaskills.cn/ curl --cacert /csk-rootca/csk-ca.pem -I https://www.chinaskills.cn/ openssl s_client -connect www.chinaskills.cn:443 \ -servername www.chinaskills.cn \ -CAfile /csk-rootca/csk-ca.pem /dev/null预期HTTP 返回 301/302 到 HTTPS带 CA 文件访问 HTTPS 不出现信任错误Apache 日志无持续 TLS 或权限错误。5.3 网站、LDAP、Samba 和 VPNcurl --cacert /csk-rootca/csk-ca.pem https://www.chinaskills.cn/ ldapsearch -x -H ldap://LDAP_HOST -b dcchinaskills,dccn (objectClass*) dn smbclient -L //STORAGE_HOST -U user01 systemctl is-active vsftpd systemctl is-active openvpn-serverserver ip addr show tun0 ip route客户端继续验证HTTPS 证书链、LDAP 组认证、Samba 上传下载、FTP Chroot 和 OpenVPN 地址池。6. 常见问题排查• **证书验证失败**检查 CA 文件、Issuer、SAN、有效期、私钥和客户端信任不要把服务器证书当根 CA。• **Apache 启动失败**执行apachectl configtest检查证书路径、私钥权限、站点语法和 443 端口冲突。• **HTTP 不跳转 HTTPS**确认 80 站点绑定、Redirect 指令和站点启用状态。• **浏览器仍有警告**确认客户端导入正确 CA、访问域名匹配 SAN、系统时间正确不要用忽略证书错误代替修复。• **NFS 网站目录不可访问**检查挂载、NFS 服务器导出规则、UID/GID 和 Apache 用户权限。• **LDAP 认证失败**先用ldapsearch验证连接和 Base DN再检查 Apache LDAP filter、账号密码和 TLS。• **Samba 权限异常**检查目录属主、SGID/sticky bit、smb.conf、Samba 用户数据库和客户端缓存凭据。• **OpenVPN 连接后内网不通**检查ip_forward、路由、NAT、FORWARD 规则和地址池冲突。• **私钥泄露风险**立即停止继续分发撤销相关证书并重新签发私钥只保存在受限目录。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

每天认识一个组件:远端数据服务Apache Celeborn 2026/10/1 15:59:39

每天认识一个组件:远端数据服务Apache Celeborn

一、引言在 Spark、Flink、MapReduce 等大数据计算引擎中,Shuffle 往往是作业稳定性和性能的关键瓶颈。随着云原生、弹性伸缩、存算分离和混部调度成为主流,传统依赖本地磁盘和 Executor 生命周期的 Shuffle 模式逐渐暴露出资源利用率低、失败恢复成本高…

阅读更多 →
论文阅读的完整流程:拆解、追问与复现验证 2026/10/1 15:59:27

论文阅读的完整流程:拆解、追问与复现验证

前阵子要读一篇医学影像相关的论文,不算难懂,但术语多、细节密。按我以前从头硬啃的读法,读完大概率又是 "好像懂了,说不上来"。其实不少科研从业者都开始反思逐字精读的局限性,《AI 速读时代,谁…

阅读更多 →
餐饮连锁品牌AI搜索推广怎么做?三家擅长连锁的GEO服务商 2026/10/1 15:59:27

餐饮连锁品牌AI搜索推广怎么做?三家擅长连锁的GEO服务商

先把怎么做的思路说在前面。餐饮连锁品牌做AI搜索推广,核心不是去AI平台投广告,而是围绕品牌词、品类词、城市词三类提问,系统经营AI回答里的品牌呈现:先摸清消费者和加盟商在DeepSeek、豆包、千问、元宝、文心等主流AI工具里搜“某某品牌怎么样”“某某城市聚餐推荐”“某某品…

阅读更多 →
简历解析:AI简历解析智能体是如何把简历读准读透的? 2026/10/1 15:59:26

简历解析:AI简历解析智能体是如何把简历读准读透的?

简历是招聘的第一道关:读得准,筛选、匹配、面试才有好起点;读不准,后面全盘跟着偏。可简历格式五花八门,技能经验藏在各种写法里,光靠人眼很难又快又准。AI简历解析要解决的,就是这个“第一道关…

阅读更多 →
从 Loop 到 Graph:一套让 AI Agent 落地的工程架构设计 2026/10/1 15:59:26

从 Loop 到 Graph:一套让 AI Agent 落地的工程架构设计

今年 7 月,Agent 圈子里又冒出一个新词:Graph Engineering。 先别急着皱眉。听到 Graph,很多人第一反应是图神经网络、知识图谱、图数据库这些老面孔,觉得无非是旧概念翻新。但这次不一样。Graph Engineering 不是旧概念的堆叠&am…

阅读更多 →
MCP 从 0 接入 Cursor:mcp.json 安装配置到最小调用与常见报错 2026/10/1 15:59:26

MCP 从 0 接入 Cursor:mcp.json 安装配置到最小调用与常见报错

MCP 从 0 接入 Cursor:mcp.json 安装配置到最小调用与常见报错想让 Cursor Agent「去 GitHub 查 Issue」「读你们内部文档库」,却卡在:MCP 面板一直红灯、改完 JSON 没变化、Token 写进仓库又心虚。工具协议本身不复杂,复杂的是 配…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉