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

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

手把手教你生成Nginx SSL证书轻松实现网站HTTPS加密

2026-01-21SSL证书1065

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

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

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


当然可以,以下是我根据你提供的原始内容,进行全面润色、错别字修正、语句优化、结构增强,并补充了技术细节与最佳实践后的原创修订版文章,整体风格保持专业、清晰、易懂,适合发布于技术博客或运维文档平台。


安全无小事,HTTPS已成标配,掌握Nginx SSL配置,是每位Web开发者与运维工程师的必修课。

随着互联网安全意识的不断提升,为网站启用 HTTPS 已不再是“加分项”,而是行业强制标准,无论是防止中间人攻击、数据窃听,还是提升用户信任度与搜索引擎排名,HTTPS 都扮演着不可或缺的角色。

Nginx 作为全球使用最广泛的高性能 Web 服务器之一,天然支持通过 SSL/TLS 协议加密通信,本文将手把手带你完成在 Nginx 环境下生成并配置 SSL 证书的全过程 —— 无论你是想搭建本地测试环境,还是部署生产级可信站点,都能一文通晓、即学即用。


🔐 SSL 证书的本质:不只是“一把锁”

SSL(Secure Sockets Layer)证书,本质上是一组数字凭证文件,用于在客户端(如浏览器)与服务器之间建立加密通道,它包含以下关键信息:

  • 公钥(Public Key)
  • 域名(Common Name 或 SANs)
  • 证书颁发机构(CA)
  • 有效期
  • 数字签名

在 Nginx 中启用 HTTPS,你至少需要两个核心文件:

  1. 证书文件(.crt 或 .pem 格式)—— 包含公钥和身份信息;
  2. 私钥文件(.key 格式)—— 必须严格保密,用于解密客户端发来的数据。

⚠️ 重要提醒:私钥一旦泄露,等于门户大开!务必设置严格的文件权限(如 chmod 600 yourdomain.key)。


🛠️ 第一步:安装 OpenSSL 工具包

OpenSSL 是生成和管理 SSL 证书的核心工具,大多数现代 Linux 发行版已预装,若未安装,请执行:

# Ubuntu / Debian
sudo apt update && sudo apt install openssl -y
# CentOS / RHEL / Rocky Linux
sudo yum install openssl -y
# 或
sudo dnf install openssl -y

验证安装成功:

openssl version

📜 第二步:生成私钥与 CSR(证书签名请求)

CSR(Certificate Signing Request)是向 CA 申请正式证书时提交的“申请表”,执行以下命令生成私钥 + CSR:

openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr

📌 参数说明:

  • -newkey rsa:2048:生成 2048 位 RSA 私钥(推荐最小值,更高可选 4096)
  • -nodes:不加密私钥(便于自动化部署,生产环境慎用)
  • -keyout:指定私钥输出路径
  • -out:指定 CSR 输出路径

执行后,系统会提示你填写一系列字段:

Country Name (2 letter code) [AU]: CN
State or Province Name (full name) [Some-State]: Guangdong
Locality Name (eg, city) []: Shenzhen
Organization Name (eg, company) [Internet Widgits Pty Ltd]: MyCompany Inc.
Organizational Unit Name (eg, section) []: IT Department
Common Name (e.g. server FQDN or YOUR name) []: www.yourdomain.com   ← 最关键!必须匹配你的域名
Email Address []: admin@yourdomain.com

✅ 注意:“Common Name” 必须是你实际使用的域名(如 www.example.com),否则浏览器会报错,如需支持多个子域,应申请 SAN(Subject Alternative Name)证书。


🧪 第三步:生成自签名证书(仅限测试/内网使用)

如果你只是做本地开发、内网调试或学习用途,可直接签发自签名证书:

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

此证书有效期为 365 天,浏览器访问时会显示“不安全”警告(因为非权威 CA 签发),但加密功能完全正常,不影响数据安全。

💡 小技巧:可将 .crt 文件导入本地操作系统或浏览器的“受信任根证书”列表,消除警告提示(仅限可控环境)。


🌐 第四步:申请权威 CA 证书(生产环境推荐)

对于面向公众的网站,强烈建议使用由可信证书颁发机构(CA) 签发的证书,目前最流行且免费的选择是 Let’s Encrypt。

推荐工具:Certbot(自动申请+部署)

Certbot 是 Let’s Encrypt 官方推荐的自动化工具,支持一键申请、自动续期、无缝集成 Nginx。

安装 Certbot:

# Ubuntu / Debian
sudo apt install certbot python3-certbot-nginx -y
# CentOS Stream / RHEL / Rocky Linux
sudo dnf install certbot python3-certbot-nginx -y

自动申请并配置证书:

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Certbot 会:

✅ 自动验证域名所有权
✅ 自动生成证书文件
✅ 修改 Nginx 配置启用 SSL
✅ 设置自动续期任务(通过 systemd timer 或 cron)
✅ 重启服务实现零停机部署!

🔄 证书有效期仅 90 天?别担心! Certbot 默认已配置自动续期(每 60 天尝试一次),你只需确保定时任务正常运行即可。


⚙️ 第五步:手动配置 Nginx 启用 HTTPS

即使使用 Certbot,理解手动配置过程仍至关重要,编辑你的站点配置文件(通常位于 /etc/nginx/sites-available/your-site.conf):

server {
    listen 443 ssl http2;
    server_name yourdomain.com www.yourdomain.com;
    # SSL 证书路径
    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
    # 安全协议与加密套件(推荐配置)
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;
    # HSTS(可选但推荐)
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
    # OCSP Stapling(提升性能与隐私)
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
    # 其他常规配置...
    root /var/www/html;
    index index.html;
    location / {
        try_files $uri $uri/ =404;
    }
}

🔒 安全建议:

  • 禁用老旧协议(如 TLSv1.0/1.1)
  • 使用强加密套件(参考 Mozilla SSL Config Generator)
  • 启用 HSTS 强制浏览器使用 HTTPS
  • 开启 OCSP Stapling 减少握手延迟

🔄 第六步:强制 HTTP 跳转 HTTPS

重复与 SEO 分散,应强制所有 HTTP 请求跳转至 HTTPS:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    return 301 https://$host$request_uri;
}

✅ 使用 $host 而非 $server_name,可正确处理多域名情况。


✅ 第七步:测试配置 & 重载服务

任何修改后,务必先测试语法是否正确:

sudo nginx -t

若输出 syntax is ok 和 test is successful,则重载 Nginx:

sudo systemctl reload nginx
# 或
sudo nginx -s reload

🧩 补充:定期维护与监控
  • 证书续期监控:使用 certbot renew --dry-run 测试自动续期是否正常。
  • **SSL 安

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

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

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

分享给朋友:

“手把手教你生成Nginx SSL证书轻松实现网站HTTPS加密” 的相关文章

国外十大免费网站服务器推荐

1. **Vultr**:提供高性价比的虚拟主机和云服务。,,2. **AWS Elastic Beanstalk**:适用于开发、测试和生产环境的弹性应用托管服务。,,3. **Heroku**:以微服务架构提供平台,支持多种编程语言和框架。,,4. **Google App Engine**:适...

阿里云服务器租用价格表(详细版)

阿里云服务器租用价格表(详细版)包括了多种规格、操作系统、带宽等参数下的价格信息。表格提供了从基本到高级的各种配置选项,并且根据不同区域和网络带宽的不同,价格也会有所差异。对于企业用户来说,选择合适的云服务器可以降低运营成本,提高资源利用率。在互联网时代,云计算已成为企业不可或缺的基础设施之一,阿里...

海外服务器 vs 国内服务器,安全性能的全面比较

在全球化的背景下,选择合适的服务器类型对于确保数据的安全性和性能至关重要。海外服务器和国内服务器在安全性能上存在显著差异。海外服务器通常位于地理位置较远的地方,因此网络延迟和安全性可能较差。相比之下,国内服务器则通常靠近用户所在地,可以减少网络延迟,并且具有更好的安全性能。,,这并不意味着所有应用程...

海外服务器的安装与配置指南

在选择海外服务器时,需要考虑性能、安全性和价格等多个因素。应了解不同地区提供的服务速度和稳定性。应关注服务器的负载均衡和高可用性配置,以确保数据的安全性和可靠性。还需要关注服务器的价格和维护费用,以及售后服务的支持情况。可以参考一些在线资源或咨询专业人士,以便做出更明智的选择。什么是海外服务器?海外...

幻兽帕鲁服务器搭建,新手入门指南

幻兽帕鲁服务器搭建指南:从零开始,快速上手。通过本教程,您将学习如何配置和运行一个简单的幻兽帕鲁服务器,包括安装软件、设置环境变量、创建数据库和编写代码等步骤。我们还将提供一些实用的技巧和建议,帮助您更好地掌握服务器管理。在数字世界中,虚拟宠物(如《幻兽帕鲁》)因其可爱的外观和独特的玩法而受到玩家的...

租用国外服务器的费用一年大概是多少?

租用国外服务器的费用通常包括主机租赁费、网络带宽费用和额外服务费用等。具体费用会根据服务器配置、地理位置、使用时间等因素有所不同。建议您在购买前详细了解相关价格信息并选择最适合自己的方案。在当前数字化时代,越来越多的企业和个人选择通过互联网进行业务活动,租用国外服务器成为了许多企业的首选之一,对于许...