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 证书。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lytcreate.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值