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

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

如何生成Nginx SSL证书并配置HTTPS安全访问

2025-10-01SSL证书566

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

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

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


当然可以,以下是我根据您提供的原始内容进行的全面优化与润色版本:修正了错别字、调整了语序以增强可读性,补充了必要的技术细节和背景知识,并在保持原意的基础上进行了原创性提升,使文章更具专业性和实用性。


在当今高度互联的互联网环境中,网站安全已不再是“锦上添花”的附加功能,而是保障用户隐私、数据完整性和系统可信度的核心要素,随着用户对网络安全意识的日益增强,以及主流搜索引擎(如 Google)明确优先收录 HTTPS 加密站点,为 Web 服务配置 SSL/TLS 证书已成为现代网站部署的标准操作流程。

Nginx 作为全球最流行的高性能 Web 服务器之一,广泛应用于静态资源服务、反向代理及负载均衡等场景,它原生支持通过 SSL/TLS 协议实现加密通信,能够有效防止中间人攻击、数据窃听和内容篡改,本文将带你一步步掌握如何使用 OpenSSL 工具生成自签名 SSL 证书,并将其正确配置到 Nginx 中,启用 HTTPS 安全访问,我们也会探讨生产环境下的最佳实践建议。


什么是 SSL 证书?

SSL(Secure Sockets Layer,安全套接层)证书是一种数字凭证,用于在客户端(如浏览器)与服务器之间建立加密连接,确保传输过程中的敏感信息(如登录凭证、支付数据等)不会被第三方截获或篡改。

当一个网站启用了 SSL 证书后,其 URL 前缀会变为 https://,浏览器地址栏通常还会显示一个锁形图标,表示当前连接是经过加密的安全通道,现代浏览器甚至会对未启用 HTTPS 的站点标记为“不安全”,从而影响用户体验与信任度。

SSL 证书由受信任的证书颁发机构(Certificate Authority, 简称 CA)签发,常见的包括 DigiCert、Let’s Encrypt、Sectigo 等,对于正式上线的网站,应使用由权威 CA 签发的证书;而在开发测试或内部网络环境中,也可以采用自签名证书来模拟 HTTPS 行为。


使用 OpenSSL 生成自签名 SSL 证书(适用于测试)

在正式申请公开信任的证书之前,开发者常常需要在本地搭建 HTTPS 测试环境,可以通过开源工具 OpenSSL 快速生成一套自签名证书,以下是详细步骤:

安装 OpenSSL 工具

大多数 Linux 发行版默认已预装 OpenSSL,可通过以下命令验证是否可用:

openssl version

如果提示命令未找到,则需手动安装,不同系统的安装方式如下:

  • Ubuntu / Debian 系列:

    sudo apt update && sudo apt install openssl -y
  • CentOS / RHEL / AlmaLinux / Rocky Linux(基于 yum 或 dnf):

    # CentOS 7 及更早版本
    sudo yum install openssl -y
    # CentOS 8+ 或 RHEL 9+
    sudo dnf install openssl -y

安装完成后再次运行 openssl version 检查版本号,确认工具就绪。


生成私钥(Private Key)

私钥是整个证书体系的基础,必须严格保密,我们使用 RSA 算法生成一个强度为 2048 位的私钥文件(推荐最低 2048 位,更高安全性可选 4096 位):

openssl genrsa -out nginx-selfsigned.key 2048

该命令将创建名为 nginx-selfsigned.key 的私钥文件,请务必将其存放在安全目录中,并设置适当的权限限制(chmod 600),避免被非法读取。

⚠️ 注意:私钥一旦泄露,攻击者即可解密通信内容或伪造身份,因此严禁上传至代码仓库或共享给无关人员。


创建证书请求文件(CSR)

证书签名请求(Certificate Signing Request, CSR)包含了证书所需的基本信息,供 CA 核实并签署,执行以下命令生成 CSR 文件:

openssl req -new -key nginx-selfsigned.key -out nginx-selfsigned.csr

执行过程中会交互式地要求输入以下字段:

字段 示例值 说明
Country Name (2 letter code) CN 国家代码(ISO 两字母)
State or Province Name Guangdong 所在省份
Locality Name Shenzhen 城市名称
Organization Name MyCompany Inc. 公司或组织名称
Organizational Unit Name IT Department 部门名称(可选)
Common Name example.com 必须填写你的域名
Email Address admin@example.com 联系邮箱

其中最关键的是 Common Name(CN) —— 它必须与你要保护的域名完全一致,若网站域名为 www.example.com,则此处应填写 www.example.com 或使用通配符 *.example.com(但自签名不支持自动通配)。

✅ 提示:若仅为本地测试,也可使用 localhost 或内网 IP 地址,但浏览器仍可能提示证书错误。


生成自签名证书(Self-Signed Certificate)

有了私钥和 CSR 后,我们可以自行签署证书,生成最终的 .crt 文件:

openssl x509 -req -days 365 -in nginx-selfsigned.csr -signkey nginx-selfsigned.key -out nginx-selfsigned.crt

此命令将生成一张有效期为 365 天的自签名证书文件 nginx-selfsigned.crt,你可以根据需求修改 -days 参数(如设为 730 天即两年)。

至此,核心证书文件已准备完毕:

  • nginx-selfsigned.key:私钥文件
  • nginx-selfsigned.crt:SSL 证书文件

将 SSL 证书集成到 Nginx 配置中

我们需要将证书文件导入 Nginx 并更新服务器配置以启用 HTTPS。

存放证书文件

建议统一管理证书文件路径,创建专用目录并复制证书:

sudo mkdir -p /etc/nginx/ssl
sudo cp nginx-selfsigned.key nginx-selfsigned.crt /etc/nginx/ssl/

为提高安全性,设置合理的文件权限:

sudo chmod 600 /etc/nginx/ssl/*.key
sudo chmod 644 /etc/nginx/ssl/*.crt
sudo chown -R root:root /etc/nginx/ssl

编辑 Nginx 站点配置

打开对应的虚拟主机配置文件(路径可能是 /etc/nginx/sites-available/default 或 /etc/nginx/conf.d/example.conf),添加如下 HTTPS server 块:

server {
    listen 443 ssl http2;
    server_name example.com www.example.com;
    # 指定证书和私钥路径
    ssl_certificate     /etc/nginx/ssl/nginx-selfsigned.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx-selfsigned.key;
    # 推荐的安全协议版本
    ssl_protocols       TLSv1.2 TLSv1.3;
    # 强化加密套件,禁用弱算法
    ssl_ciphers         ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers on;
    # 开启会话缓存以提升性能
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    # 网站根目录与索引页
    root /var/www/html;
    index index.html;
    location / {
        try_files $uri $uri/ =404;
    }
    # 可选:开启 HSTS(强制浏览器使用 HTTPS)
    # add_header Strict-Transport-Security "max-age=63072000" always;
}

🔐 安全建议:

  • 使用 TLSv1.2 和 TLSv1.3,禁用老旧且不安全的 SSLv3 和 TLSv1.0/1.1。
  • 推荐使用前向安全(Forward Secrecy)相关的加密套件,如 ECDHE。
  • 若考虑性能优化,可启用 OCSP Stapling 和 gzip 压缩。

配置 HTTP 到 HTTPS 的自动跳转

为了引导所有流量进入加密通道,建议添加一个监听 80 端口的 server 块,实现自动重定向:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301

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

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

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

分享给朋友:

“如何生成Nginx SSL证书并配置HTTPS安全访问” 的相关文章

AI服务器租赁,英伟达GPU支持

AI服务器租赁提供商英伟达推出了一系列高性能计算设备和解决方案,旨在为用户在人工智能和机器学习领域提供更强大的计算能力。这些设备包括GPU(图形处理单元)和专用加速卡,能够显著提高模型训练速度和推理效率。英伟达还提供了全面的培训服务和咨询支持,帮助用户快速上手并优化他们的AI项目。深度学习与AI技术...

海马云主机(HMCL)推荐服务器地址

推荐使用hmcl-server-1.14.6.jar作为HMCL服务器地址。在游戏开发和制作中,HMCL(Hypixel Minecraft Client Launcher)是一个非常流行的工具,它使得玩家能够轻松地下载并安装各种版本的Minecraft,由于互联网环境的变化,某些网站可能无法正常提...

无需正版

在过去的五年中,科技和人工智能领域取得了显著进展。自动驾驶技术的发展推动了汽车行业的变革,而量子计算的应用则为科学研究带来了革命性的突破。大数据分析和机器学习在金融、医疗健康等领域也展现出巨大的潜力。这些技术的进步不仅改变了我们的生活方式,还对社会产生了深远的影响。在当前的网络环境中,许多用户开始寻...

Qwen是一个强大的AI助手,可以为用户提供各种帮助。如果您有其他需要,请告诉我,我会尽力为您解答。

租借服务器市场持续火爆,排名前十的平台包括AWS、Azure和Google Cloud等。这些云服务提供商提供了丰富的存储空间、高性能计算资源以及易于管理的功能。还有一些专门用于托管Web应用的服务提供商,如Heroku和Netlify。在选择租借服务器时,应考虑成本效益比、性能需求、安全性以及对数...

在家搭建小型服务器的步骤

在家中搭建小型服务器可以用于各种用途,如远程办公、数据备份、网络监控等。以下是一些基本步骤和建议:,,1. **选择合适的硬件**:需要选择一台性能良好的服务器,并确保其具有足够的内存(至少4GB以上)、CPU(至少2核)和存储空间。,,2. **安装操作系统**:根据需求选择合适的Linux发行版...

科技领袖引领未来

近年来,随着科技的发展和市场需求的变化,行业领导者不断引领技术创新,推动了整个行业的进步和发展。这些领导者通过研究、开发和应用新技术,为消费者提供了更加便捷、高效和安全的产品和服务。他们还注重社会责任和可持续发展,积极参与社会公益活动,树立了良好的企业形象。行业领导者在推动行业发展方面发挥着重要的作...