在Windows上为Nginx配置SSL证书
海外云服务器 40个地区可选 亚太云服务器 香港 日本 韩国
云虚拟主机 个人和企业网站的理想选择 俄罗斯电商外贸虚拟主机 赠送SSL证书
美国云虚拟主机 助力出海企业低成本上云 WAF网站防火墙 为您的业务网站保驾护航
要在 Windows 上为 Nginx 配置 SSL 证书,首先确保已安装 Nginx 和 OpenSSL,下载或生成 SSL 证书(如 Let's Encrypt)并将其放置在指定目录,编辑 Nginx 配置文件,添加ssl_certificate
和ssl_certificate_key
指令,指向证书和密钥文件路径,重启 Nginx 服务以应用更改,验证配置是否生效,确保 HTTPS 请求正常工作,定期更新证书以保持网站的安全性。
在当今的互联网世界中,安全性和数据保护变得越来越重要,为了确保用户与网站之间的通信安全,SSL(Secure Sockets Layer)证书已成为必不可少的一部分,本文将详细介绍如何在 Windows 系统上为 Nginx 服务器配置 SSL 证书,帮助您更好地保护您的网站。
SSL 证书是一种数字证书,用于加密客户端和服务器之间的通信,通过使用 SSL 证书,您可以确保传输的数据不会被第三方窃听或篡改,SSL 证书通常由受信任的证书颁发机构(CA)签发,并且会在浏览器地址栏中显示一个锁形图标,表明该网站是安全的,SSL 协议不仅提供了数据加密,还能验证服务器的身份,从而增强了用户对网站的信任。
准备工作
在开始配置之前,请确保您已完成以下准备工作:
-
安装 Nginx:如果您尚未安装 Nginx,请访问其官方网站下载适合您系统的版本并按照说明进行安装。
-
获取 SSL 证书:可以从 Let's Encrypt 等免费 CA 获取免费的 SSL 证书,也可以选择购买商业 SSL 证书,这里我们将以 Let's Encrypt 为例,介绍如何获取和管理证书。
-
域名解析:确保您的域名已正确解析到服务器的 IP 地址上,您可以通过域名注册商提供的管理界面进行设置。
获取 SSL 证书
Let's Encrypt 提供了多种工具来生成和管理 SSL 证书,Certbot 是最受欢迎的选择之一,Certbot 支持多种 Web 服务器,包括 Nginx,以下是使用 Certbot 获取 SSL 证书的步骤:
安装 Certbot
- 打开命令提示符(CMD)。
- 运行以下命令安装 Certbot:
choco install certbot
申请证书
使用 Certbot 申请证书:
certbot certonly --webroot -w C:\nginx\html -d yourdomain.com
根据提示完成操作,您将会看到类似如下的输出:
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for yourdomain.com
Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
Your key file has been saved at:
验证证书
检查证书是否有效:
openssl x509 -in /path/to/fullchain.pem -text -noout
配置 Nginx 使用 SSL 证书
我们需要修改 Nginx 的配置文件以启用 HTTPS 支持,通常情况下,Nginx 的主配置文件位于 C:\nginx\conf\nginx.conf
。
编辑 Nginx 配置文件
- 打开
nginx.conf
文件。 - 查找
server { ... }
块,在该块内添加或修改如下内容:
server { listen 80; server_name yourdomain.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /path/to/fullchain.pem; ssl_certificate_key /path/to/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; location / { root html; index index.html index.htm; } }
保存并重启 Nginx
- 保存对
nginx.conf
文件所做的更改。 - 在命令提示符下运行以下命令以重启 Nginx:
nginx -s reload
自动续期 SSL 证书
Let's Encrypt 的证书有效期为 90 天,因此需要定期更新它们,幸运的是,Certbot 提供了一种简单的方法来自动续期证书,您可以通过设置计划任务来实现这一点,以下是具体步骤:
创建计划任务
- 打开“任务计划程序”。
- 创建一个新的基本任务,并命名为“Auto-Renew Let's Encrypt Certificate”。
- 设置触发器为每天一次。
- 在操作部分,选择启动程序,并指定以下命令:
"C:\Program Files\certbot\certbot.exe" renew --quiet
测试计划任务
- 手动运行计划任务以确保它正常工作。
- 检查日志文件以查看是否有任何错误信息。