nginx配置https的ssl证书和域名

在 Nginx 上部署 HTTPS 证书涉及几个步骤,包括生成密钥和证书签名请求(CSR)、获取 SSL/TLS 证书(可以是自签名证书或从证书颁发机构(CA)获取的证书),然后在 Nginx 配置文件中配置这些证书。以下是一个详细的指南:

  1. 生成私钥和CSR
    首先,使用 OpenSSL 生成一个私钥(通常命名为 private.key)和一个证书签名请求(CSR,通常命名为 domain.csr)。

bash

生成私钥

openssl genpkey -algorithm RSA -out private.key -pkeyopt rsa_keygen_bits:2048

生成CSR

openssl req -new -key private.key -out domain.csr \
-subj "/C=YourCountry/ST=YourState/L=YourCity/O=YourOrganization/OU=YourOrgUnit/CN=yourdomain.com"
在生成 CSR 的过程中,你需要填写一些信息,如国家(C)、州/省(ST)、城市(L)、组织(O)、组织单位(OU)和常见名称(CN,即你的域名)。

  1. 获取SSL/TLS证书
    从证书颁发机构(CA)获取证书
    将 domain.csr 文件提交给证书颁发机构(例如 Let's Encrypt、DigiCert、GoDaddy 等)。
    根据 CA 的要求,可能还需要提供其他文件(如域名验证文件或组织验证文件)。
    CA 验证后,你将收到一个 .crt 文件(证书文件)和一个可能的 .ca-bundle 文件(CA 的根证书和中间证书)。
    使用Let's Encrypt(免费证书)
    Let's Encrypt 提供了方便的自动化工具 Certbot 来获取和续订证书。

bash

安装Certbot(基于Ubuntu/Debian)

sudo apt update
sudo apt install certbot python3-certbot-nginx

使用Certbot获取证书并自动配置Nginx

sudo certbot --nginx
Certbot 会自动处理证书获取和 Nginx 配置更新。

  1. 配置Nginx使用HTTPS
    编辑你的 Nginx 配置文件(通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/yourdomain),添加或修改以下部分:

nginx
server {
listen 443 ssl;
server_name yourdomain.com;

# 证书和私钥文件路径  
ssl_certificate /path/to/your/fullchain.crt; # 包含证书和中间证书  
ssl_certificate_key /path/to/your/private.key;  

# SSL设置  
ssl_protocols TLSv1.2 TLSv1.3; # 仅使用安全的协议  
ssl_ciphers HIGH:!aNULL:!MD5; # 安全的加密算法  
ssl_prefer_server_ciphers on; # 使用服务器指定的加密算法  

location / {  
    # 你的其他配置  
}  

}

如果你还想同时支持HTTP重定向到HTTPS,可以添加以下server块

server {
listen 80;
server_name yourdomain.com;

return 301 https://$host$request_uri;  

}
4. 测试和重启Nginx
在保存并关闭配置文件后,测试 Nginx 配置是否正确:

bash
sudo nginx -t
如果配置正确,重启 Nginx 以应用更改:

bash
sudo systemctl restart nginx
5. 验证HTTPS连接
打开浏览器,访问 https://yourdomain.com,你应该看到一个绿色的锁图标,表示连接是安全的。

注意事项
证书续期:确保定期检查并续订证书,特别是对于从 CA 获取的证书,以避免证书过期导致的服务中断。
备份:定期备份你的私钥和证书文件。
安全性:确保你的 Nginx 配置文件和服务器具有适当的权限和安全性设置。
通过以上步骤,你应该能够在 Nginx 上成功部署 HTTPS 证书。

posted @   lytcreate  阅读(331)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示