Nginx-免费SSL证书申请

前言

本文介绍三种免费证书生成方式。

一、通过acme.sh脚本从 letsencrypt 生成免费的证书

点此查看官方详细说明

以下以阿里云托管的域名为例
1、安装acme.sh

curl  https://get.acme.sh | sh

2、在阿里云控制台用户管理中创建AccessKey
file
3、将AccessKey导入环境变量

export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"

4、创建证书

acme.sh --issue --dns dns_ali -d example.com -d www.example.com

二、通过阿里云申请免费证书

1、在阿里云官网搜索ssl证书,进入产品详情页,提前登录一下账号。
在这里插入图片描述

2、点击选购证书
在这里插入图片描述

3、选择单域名、DV SSL、免费版,立即购买,价格为¥0,无需支付费用
在这里插入图片描述
4、购买成功欧,进入证书控制台
在这里插入图片描述

5、在控制台中找到未签发的证书,点击证书申请
在这里插入图片描述

6、按照提示填写信息,提交审核后一般十分钟内就通过了,通过审核后可以在已签发证书中下载证书文件
在这里插入图片描述

三、通过certbot申请证书

1、安装Certbot工具(以centos7系统为例)

yum install -y certbot

2、申请证书

certbot certonly  -d example.com --manual \
--preferred-challenges dns \
--server https://acme-v02.api.letsencrypt.org/directory

example.com为需要https访问的域名,泛域名可以使用 *.example.com
preferred-challenges dns表示通过dns进行域名认证,需要添加一条txt类型的域名解析记录,泛域名必须使用dns域名认证方式,不需要泛域名的话建议采用http认证方式,否则自动更新证书需要额外配置。

执行命令后会进行一些交互,根据提示输入内容即可。

3、查看证书
证书会默认生成到 /etc/letsencrypt/live目录,包含以下这些证书文件
file
4、自动更新证书
通过crontab添加一个定时任务
执行:crontab -e
在打开的编辑窗口中添加以下内容:

0 1 * * * /usr/bin/certbot renew

注意:采用dns域名认证方式需要正确配置–manual-auth-hook参数,否则自动更新会失败。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
要在 Nginx 上生成 SSL 证书,可以按照以下步骤进行操作: 1. 安装 OpenSSL 工具,如果已经安装可以跳过这一步; ``` sudo apt-get update sudo apt-get install openssl ``` 2. 生成 SSL 私钥: ``` openssl genrsa -out your_domain.key 2048 ``` 其中,`your_domain.key` 是生成的 SSL 私钥文件名。 3. 生成证书签名请求 (CSR): ``` openssl req -new -key your_domain.key -out your_domain.csr ``` 其中,`your_domain.key` 是 SSL 私钥文件名,`your_domain.csr` 是生成的证书签名请求文件名。 4. 使用 CSR 文件向证书颁发机构申请 SSL 证书。根据颁发机构的要求填写相关信息,然后将 CSR 文件提交给颁发机构。 5. 颁发机构审核通过后,会向你发送 SSL 证书文件。将证书文件保存在服务器上的某个目录中。 6. 配置 Nginx,将 SSL 证书文件和 SSL 私钥文件指定到对应的配置项中。在 Nginx 配置文件中加入以下内容: ``` server { listen 443 ssl; server_name your_domain.com; ssl_certificate /path/to/your_domain.crt; ssl_certificate_key /path/to/your_domain.key; } ``` 其中,`/path/to/your_domain.crt` 是 SSL 证书文件路径,`/path/to/your_domain.key` 是 SSL 私钥文件路径。 7. 重新加载 Nginx 配置文件: ``` sudo nginx -t # 检查配置文件是否有语法错误 sudo systemctl reload nginx # 重新加载 Nginx 配置文件 ``` 完成上述步骤后,就可以在 Nginx 上启用 SSL,实现数据加密传输。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

魔希达

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

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

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

打赏作者

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

抵扣说明:

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

余额充值