游乐游手机版
首页/系统平台/文章详情

CentOS7自生成证书配置SSL网站详细教程

时间:2026-06-23 07:45
在 CentOS 7 RHEL 7 这类企业级 Linux 发行版上搭建 HTTPS 服务,核心步骤非常清晰:安装必要软件包、配置防火墙放行端口、以及生成并部署 SSL TLS 证书。下面以域名 server0 vqiu cn 为例,完整演示整个流程。每一步都附带了可执行的命令和关键注释,方便直

在 CentOS 7 / RHEL 7 这类企业级 Linux 发行版上搭建 HTTPS 服务,核心步骤非常清晰:安装必要软件包、配置防火墙放行端口、以及生成并部署 SSL/TLS 证书。下面以域名 server0.vqiu.cn 为例,完整演示整个流程。每一步都附带了可执行的命令和关键注释,方便直接复制运行。

安装 Apache 并调整防火墙

首先安装 httpd 和 mod_ssl 模块,这是启用 SSL 加密通信的基础组件。随后需要将 80、443 和 8080 三个端口添加到防火墙规则中,并执行 reload 使规则即时生效。最后启动 httpd 服务并设置为开机自启。

# 安装Apache及SSL模块
[root@server0 ~]# yum -y install httpd mod_ssl 
 
# 配置防火墙规则,开放指定端口
[root@server0 ~]# firewall-cmd --permanent --add-server=80/tcp
[root@server0 ~]# firewall-cmd --permanent --add-server=443/tcp
[root@server0 ~]# firewall-cmd --permanent --add-server=8080/tcp
firewall-cmd --reload 
 
[root@server0 ~]# systemctl restart httpd
systemctl enable httpd

配置 SELinux 安全上下文与证书目录

当 SELinux 处于 enforcing 强制模式时,必须将 80、443、8080 端口标记为 http_port_t 类型,否则 Apache 将无法正常监听这些端口。通过 semanage port 命令即可完成设置(注意命令正确拼写为 semanage,而非原文中可能存在的笔误)。接着创建专用的证书存放目录并切换到该目录下。

# 配置SELinux安全上下文,允许Apache使用指定端口
[root@server0 ~]# semanage port -a -t http_port_t {80,443,8080} 
[root@server0 ssl]# mkdir /etc/httpd/ssl
cd /etc/httpd/ssl

使用 OpenSSL 生成自签名证书

自签名证书适用于内部测试环境或开发阶段。首先生成带密码保护的私钥,然后去除密码(否则每次重启 httpd 服务都需要手动输入密码)。接着创建证书签名请求(CSR),最后利用 CSR 和私钥签发一张有效期为 3650 天(约10年)的自签名证书。证书生成后,CSR 文件可以根据需要删除,保留也不会影响正常运行。

# 生成带密码的私钥
[root@server0 ssl]# openssl genrsa -des3 -out vqiu.cn.key 2048 
 
# 去除私钥密码保护
[root@server0 ssl]# openssl rsa -in vqiu.cn.key -out vqiu.cn.key
 
# 生成证书签名请求(CSR)和密钥
[root@server0 ssl]# openssl req -new -nodes -key vqiu.cn.key -out vqiu.cn.csr 
 
# 利用CSR和私钥生成自签名证书(以vqiu.cn为例)
[root@server0 ssl]# openssl x509 -req -days 3650 -in vqiu.cn.csr -signkey vqiu.cn.key -out vqiu.cn.crt 
 
# 生成证书后,CSR文件可选择删除(可选步骤)
[root@server0 ssl]# rm vqiu.cn.csr -f

配置虚拟主机与 SSL 参数

编辑 /etc/httpd/conf.d/vqiu.cn.conf 文件,写入以下配置内容。关键点包括:监听 443 端口、启用 SSL 引擎、指定证书与密钥文件路径、禁用不安全的 SSLv2 协议、使用高强度加密套件。最后创建一个简单的测试页面,重启 httpd 服务后即可通过 https://server0.vqiu.cn 进行访问。

[root@server0 ssl]# cat /etc/httpd/conf.d/vqiu.cn.conf 
 
Listen 443 https 
 
 
ServerName server0.vqiu.cn 
DocumentRoot /var/www/html 
SSLEngine on 
SSLProtocol all -SSLv2 
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 
SSLCertificateFile /etc/httpd/ssl/vqiu.cn.crt 
SSLCertificateKeyFile /etc/httpd/ssl/vqiu.cn.key 
 

# 创建测试页面
[root@server0 ssl]# echo "test">/var/www/html/index.html 

# 重启httpd服务以应用配置
[root@server0 ssl]# systemctl restart httpd

按上述步骤操作后,浏览器访问应当能显示绿色的安全锁标识(虽然自签名证书会提示“不安全”,但实际通信已经加密)。如果遇到端口冲突或 SELinux 拒绝访问的问题,首先检查 semanage port 命令是否执行正确,或临时执行 setenforce 0 进行测试排查。生产环境强烈建议使用由受信任的证书颁发机构(CA)签发的正式证书,流程与本教程完全一致,只需将 vqiu.cn.crtvqiu.cn.key 替换为 CA 签发的文件即可。

来源:https://www.jb51.net/os/RedHat/532058.html
上一篇CentOS单网卡批量添加不同IP段的配置步骤详解 下一篇CentOS关闭磁盘写入功能的详细方法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
微软详解Win11时间点还原 默认每24小时创建恢复点
系统平台 · 2026-06-30

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
系统平台 · 2026-06-30

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

Win11六月可选更新KB5095093修复回收站弹窗异常
系统平台 · 2026-06-30

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
系统平台 · 2026-06-30

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

微软加速Win11 25H2推送 覆盖所有符合条件家用PC
系统平台 · 2026-06-30

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送