特网科技为您提供高速、稳定、安全、弹性的云计算服务计算、存储、监控、安全,完善的云产品满足您的一切所需,深耕云计算领域10余年;我们拥有前沿的核心技术,始终致力于为政府机构、企业组织和个人开发者提供稳定、安全、可靠、高性价比的云计算产品与服务。

当前位置:首页 > 行业资讯 > SSL证书 > 正文内容

CentOS 7生成SSL证书的完整指南

2025-09-28SSL证书445

海外云服务器 40个地区可选            亚太云服务器 香港 日本 韩国

云虚拟主机 个人和企业网站的理想选择            俄罗斯电商外贸虚拟主机 赠送SSL证书

美国云虚拟主机 助力出海企业低成本上云             拨号云主机


在当今的网络通信环境中,数据安全已成为保障用户隐私和系统稳定的核心要素,为防止敏感信息在传输过程中被窃听或篡改,采用加密协议保护 Web 通信已成为行业标准,SSL(Secure Sockets Layer)及其继任者 TLS(Transport Layer Security)正是实现这一目标的关键技术,而 SSL 证书则是建立加密连接的基础组件。

本文将详细介绍如何在 CentOS 7 操作系统上使用 OpenSSL 工具生成自签名 SSL 证书,并分别配置 Nginx 和 Apache 服务器以启用 HTTPS 加密服务,通过本指南,开发者与系统管理员可以快速搭建一个具备基本安全防护能力的测试环境,为后续正式部署打下坚实基础。


SSL 证书的基本概念

SSL 证书是一种基于公钥基础设施(PKI)的数字凭证,主要用于验证服务器身份,并在客户端与服务器之间建立加密通道,它通常包含以下关键信息:

  • 公钥(Public Key)
  • 证书持有者信息(如域名、组织名称等)
  • 颁发机构(CA)签名
  • 有效期(起止时间)

当浏览器访问一个启用了 HTTPS 的网站时,会自动验证服务器提供的 SSL 证书是否由受信任的证书颁发机构(CA)签发,并检查其有效性,若验证失败,浏览器将发出安全警告。

⚠️ 注意:对于面向公众的生产型网站,强烈建议从权威 CA(如 Let’s Encrypt、DigiCert、Sectigo 等)申请可信证书。
而在开发、测试或内网环境中,使用自签名证书是一种经济高效的选择,尽管它不会被主流浏览器默认信任。


准备工作:安装必要工具

在开始之前,请确保你的 CentOS 7 系统已正确安装以下核心组件:

组件 用途
OpenSSL 用于生成私钥、CSR 及自签名证书
Nginx 或 Apache 提供 Web 服务并支持 HTTPS 协议

大多数 CentOS 7 默认已预装 OpenSSL,可通过以下命令确认版本:

openssl version

如果尚未安装,可使用 YUM 包管理器进行补全:

sudo yum install -y openssl

接下来根据你选择的 Web 服务器安装对应软件包:

安装 Nginx

sudo yum install -y nginx

安装 Apache(含 mod_ssl 模块)

sudo yum install -y httpd mod_ssl

💡 mod_ssl 是 Apache 的 SSL/TLS 支持模块,必须安装才能启用 HTTPS 功能。

安装完成后,建议先启动服务并设置开机自启:

# 对于 Nginx
sudo systemctl start nginx
sudo systemctl enable nginx
# 对于 Apache
sudo systemctl start httpd
sudo systemctl enable httpd

生成私钥与证书签名请求(CSR)

SSL 证书的安全性依赖于一对非对称密钥:私钥(Private Key) 和 公钥(Public Key),我们首先需要生成一个高强度的私钥文件。

生成 2048 位 RSA 私钥

执行以下命令创建名为 server.key 的私钥文件:

sudo openssl genrsa -out server.key 2048

该命令使用 RSA 算法生成长度为 2048 位的私钥,符合当前安全推荐标准(低于 2048 位已不推荐使用)。

创建证书签名请求(CSR)

基于私钥生成 CSR 文件,其中包含服务器的身份信息,供 CA 核实或自签名使用:

sudo openssl req -new -key server.key -out server.csr

运行后系统将提示输入以下字段:

字段 示例值 说明
Country Name (2 letter code) CN 国家代码(中国为 CN)
State or Province Name Guangdong 所在省份
Locality Name Shenzhen 城市名
Organization Name MyCompany Inc. 公司或组织名称
Organizational Unit Name IT Department 部门名称(可选)
Common Name (CN) example.com 或 localhost 必须匹配访问域名
Email Address admin@example.com 管理员邮箱

✅ 特别提醒:Common Name 必须与实际访问的域名完全一致,否则浏览器会触发“证书域名不匹配”错误。
若仅为本地测试,可填写 localhost;若用于局域网服务器,建议填写内网 IP 或主机名(部分浏览器仍可能报错)。


生成自签名 SSL 证书

有了私钥和 CSR 后,我们可以使用 OpenSSL 自行为证书签名,生成 .crt 文件。

执行以下命令创建一张有效期为 365 天的自签名证书:

sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

参数解析:

参数 作用
-req 表示输入的是 CSR 请求文件
-days 365 设置证书有效期限(单位:天)
-in server.csr 指定 CSR 输入文件
-signkey server.key 使用私钥进行自签名(表示自己充当 CA)
-out server.crt 输出最终的证书文件

成功执行后,当前目录将生成三个重要文件:

  • server.key —— 私钥文件(务必妥善保管)
  • server.csr —— 证书请求文件(已完成使命,可删除)
  • server.crt —— 自签名 SSL 证书(用于服务器配置)

配置 Web 服务器启用 HTTPS

Nginx 配置 HTTPS

将证书复制到标准路径

sudo cp server.crt /etc/pki/tls/certs/
sudo cp server.key /etc/pki/tls/private/

推荐存放位置:

  • 证书文件:/etc/pki/tls/certs/
  • 私钥文件:/etc/pki/tls/private/

编辑 Nginx 配置文件

打开站点配置文件(/etc/nginx/conf.d/default.conf 或主配置中的 server 块),添加如下 HTTPS 服务配置:

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate     /etc/pki/tls/certs/server.crt;
    ssl_certificate_key /etc/pki/tls/private/server.key;
    # 推荐启用现代 TLS 协议
    ssl_protocols       TLSv1.2 TLSv1.3;
    # 安全加密套件(禁用弱算法)
    ssl_ciphers         ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256;
    ssl_prefer_server_ciphers on;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

🔐 建议关闭 SSLv3 及更低版本,避免 POODLE 等已知漏洞影响。

重启 Nginx 生效配置

sudo systemctl restart nginx

Apache 配置 HTTPS

复制证书至 Apache 目录

sudo cp server.crt /etc/pki/tls/certs/
sudo cp server.key /etc/pki/tls/private/

修改 SSL 配置文件

编辑 Apache 的 SSL 配置文件:

sudo vi /etc/httpd/conf.d/ssl.conf

找到以下两行并修改路径:

SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/private/server.key

同时建议检查并更新以下选项以提升安全性:

SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256

重启 Apache 服务

sudo systemctl restart httpd

扫描二维码推送至手机访问。

版权声明:本文由特网科技发布,如需转载请注明出处。

本文链接:https://www.56dr.com/mation/78947.html

标签: CentOS 7OpenSSL
分享给朋友:

“CentOS 7生成SSL证书的完整指南” 的相关文章

阿里云免费服务器,开启你的云计算之旅

阿里巴巴云推出免费300元服务器,助力开发者快速构建和部署应用。在数字化时代,数据和信息的爆炸性增长为各行各业带来了前所未有的机遇,为了帮助企业更好地应对这些挑战,云计算应运而生,阿里云作为全球领先的云计算服务提供商,致力于提供稳定、安全、高效的云资源,满足用户对计算资源的需求。让我们一起走进阿里云...

淘宝服务器价格实惠吗?

淘宝服务器价格实惠,主要是因为其采用了云计算服务模式,通过共享计算资源,降低了单台服务器的成本。阿里云还提供了丰富的存储和网络资源,满足了用户对高带宽、低延迟需求。阿里云还提供了灵活的价格调整机制,可以根据用户的实际需求进行调整,进一步降低用户的成本。在当今数字化时代,电子商务平台如淘宝已经成为人们...

如何计算租用服务器一年的费用

租用服务器一年的费用包括基础网络、操作系统安装、软件配置等。具体费用取决于服务器的型号、性能和地理位置等因素,建议参考相关服务提供商的官方价格表进行估算。在当今数字化时代,服务器作为企业运行核心基础设施不可或缺,随着科技的发展和市场竞争的加剧,选择合适的服务器租赁方案变得尤为重要,本文将详细分析租用...

科技助力智慧生活

随着科技的发展,我们的生活发生了翻天覆地的变化。智慧与技术的力量让我们能够更高效地解决问题,更好地满足人们的需求。从智能家居到人工智能,这些技术正在改变着我们的生活方式和工作方式。它们也带来了一些挑战,如数据隐私、网络安全等问题需要我们共同面对和解决。我们期待更多的创新和进步,让智慧与技术真正为人类...

选择SSL证书前的域名确认

在购买SSL证书之前,确保你已经获取了正确的域名信息是非常重要的。这不仅有助于保护你的网站免受未经授权访问,还能提高用户体验和信任度。选择SSL证书时,应考虑以下几个方面:该证书是否符合你的需求(加密通信、身份验证等),证书的有效期和续费费用,以及是否能通过多种方式安装和配置。也要注意 SSL证书的...

2024年免费SSL证书价格一年是多少?

2024年免费SSL证书的价格一年约在5到10美元之间。随着网络安全的日益重要性,免费SSL证书已成为保护网站和数据安全的重要手段,在享受免费服务的同时,我们也需要了解其具体的价格,2024年免费SSL证书价格一年是多少?本文将为您解答这个问题。免费SSL证书的价格免费SSL证书的价格主要取决于证书...