在线免费申请 SSL证书

SSL证书 有两种,一种是ECC 证书(内置 ECDSA 公钥),一种是RSA 证书(内置 RSA 公钥)。同等长度 ECC 比 RSA 更安全,也就是说在具有同样安全性的情况下,ECC 的密钥长度比 RSA 短得多,加密解密会更快。下面使用 acme.sh 脚本,在Linux服务器上申请 TSL/ SSL证书 的方法

在Linux服务器上申请免费的 SSL证书

无论是制作什么类型的网站,第一步都需要申请 证书 ,如果没有有效的,就只能以80端口的HTTP方式访问,现在主流的网站访问方式都是HTTPS访问,申请SSL域名证书势在必行!下面介绍如何,以及几种不同的方式申请域名证书。

首先了解一下什么是 TSL/ SSL

免费申请 SSL 是“Secure Sockets Layer”的缩写,中文叫做“安全套接层”。它是在上世纪90年代中期,由网景公司设计的。(顺便插一句,网景公司不光发明了 SSL,还发明了很多 Web 的基础设施——比如“CSS 样式表”和“JS 脚本”)
为啥要发明 SSL 这个协议捏?因为原先互联网上使用的 HTTP 协议是明文的,存在很多缺点——比如传输内容会被偷窥(嗅探)和篡改。发明 SSL 协议,就是为了解决这些问题。
到了1999年,SSL 因为应用广泛,已经成为互联网上的事实标准。IETF 就在那年把 SSL 标准化。标准化之后的名称改为 TLS(是“Transport Layer Security”的缩写),中文叫做“传输层安全协议”。
很多相关的文章都把这两者并列称呼(SSL/TLS),因为这两者可以视作同一个东西的不同阶段。如何让域名支持TSL?简单点说就是申请域名的SSL/TSL证书!
申请SSL/TSL证书,请参考:

Linux服务器免费申请 SSL证书

免费申请 TSL/ SSL证书

SSL证书 有两种,一种是ECC 证书(内置公钥是 ECDSA 公钥),一种是RSA 证书(内置 RSA 公钥)。简单来说,同等长度 ECC 比 RSA 更安全,也就是说在具有同样安全性的情况下,ECC 的密钥长度比 RSA 短得多(加密解密会更快)。但问题是 ECC 的会差一些,Android 4.x 以下和 Windows XP 不支持。只要您的设备不是非常老的老古董,强烈建议使用 ECC 证书。
下面使用 脚本,在服务器上申请 TSL/ SSL证书 的方法:

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

在线免费申请 SSL证书提示需要先安装SOCAT,安装socat后重新启动服务器再运行申请证书的脚本,Centos8下提示80端口被占用,卸载SOCAT后申请证书又提示需要安装SOCAT,死循环!reboot解决问题!

dnf -y install socat
reboot

在线免费申请 SSL证书下面生成证书,如果你的服务器上已经安装了nginx或者apache等web服务器的话,你需要暂时关闭。申请证书期间会占用80端口,请确保你服务器上的80端口没有被占用。
关于端口方面的几个小命令:

netstat -tln #查看服务器上端口使用情况。
netstat -tln | grep 80 #查看80端口是否被占用,输入命令如果命令行没反应,则是端口没有被占用,如果被占用会显示对应的端口
lsof -i :80 #查看端口属于哪个程序?端口被哪个进程占用
kill -9 进程数 #杀掉占用端口的进程

下面开始,如果出错的话,可以在后面增加--debug参数,查看详细错误。

acme.sh --issue -d gogobox.tk --standalone -k ec-256

没有发生什么意外的话,TSL/SSL证书已经生成成功了!
在线免费申请 SSL证书TSL/SSL免费证书的有效期是90天,90天之内需要更新证书。脚本会60天更新一次,理论上讲免费证书是可以无限更新使用的,当然你也可以通过下面命令手动更新。

acme.sh --renew -d gogobox.tk --force --ecc

如果需要生成www开头的或者是二级域名,请在域名前面加-d参数,--force参数是强制更新证书!例如:

acme.sh --issue -d gogobox.tk -d www.gogobox.tk -d m.gogobox.tk --standalone -k ec-256 --force

安装证书,SSL证书申请后,默认保存在root目录内,需要进行证书安装,将证书安装在指定位置

acme.sh --installcert -d gogobox.tk --ecc --key-file /home/ssl/gogobox.tk.key --fullchain-file /home/ssl/fullchain.cer --reloadcmd "systemctl force-reload nginx"

这里还有另外一种SSL证书的申请方式:
先安装socat

dnf install socat

安装 acme.sh

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

脚本安装后reboot,在nginx里设置好域名后,再进行证书申请

acme.sh --issue -d gogobox.tk -d www.gogobox.tk --webroot /var/wwwroot/

也可以使用读取nginx配置的命令,前提是在nginx中已经设置好域名的指向路径。

acme.sh --issue -d gogobox.tk --nginx

证书申请成功后,需要把证书安装一下:

证书申请成功后,进行证书安装。
acme.sh --installcert -d gogobox.tk --key-file /home/ssl/gogobox.tk.key --fullchain-file /home/ssl/fullchain.cer --reloadcmd "systemctl force-reload nginx"

扩展名cer和crt的的证书有什么区别?

扩展名是CRT的证书是DER编码,也可以是PEM编码。扩展名CER和CRT几乎是同义词。这种情况在各种unix/linux系统中很常见。

CER是CRT证书的微软型式。可以用微软的工具把CRT文件转换为CER文件(CRT和CER必须是相同编码的,DER或者PEM)。扩展名为CER的文件可以被IE识别并作为命令调用微软的cryptoAPI。

Windows中的证书扩展名有好几种,比如.cer和.crt。通常而言,.cer文件是二进制数据,而.crt文件包含的是ASCII数据。

cer文件包含依据DER(Distinguished Encoding Rules)规则编码的证书数据,这是x.690标准中指定的编码格式。

X.509是一个最基本的公钥格式标准,里面规定了证书需要包含的各种信息。通常我们提到的证书,都是这个格式的,里面包含了公钥、发布者的数字签名、有效期等内容。要强调的是,它只里面是不包含私钥的。相关的格式有:DER、PEM、CER、CRT。

SSL域名证书已经申请完毕了!

在线免费申请 SSL证书

FreeSSL:FreeSSL是一个免费提供 HTTPS 证书申请、HTTPS 证书管理和 HTTPS 证书到期提醒服务的网站,旨在推进 HTTPS 证书的普及与应用,简化证书申请的流程。

SSL证书申请网址:https://freessl.org

FreeSSL是一个免费提供 HTTPS 证书申请

certbot:certbot是一个脚本类型的Let's Encrypt证书申请客户端,需要一定的命令行使用经验方可操作,如需自动更新,还需要添加插件,使用起来比较困难。如有自动更新和自动部署需求,建议使用下面介绍的acme.sh和ohttps。

SSL证书申请网址:https://certbot.eff.org

在线免费申请 SSL证书

acme.sh:是一个知名的用于申请Let's Encrypt证书的开源项目,也是属于脚本类型,有比较详细的文档,支持自动化更新和自动化部署。唯一缺点,如果有更新后自动部署至多个节点的需求的话,acme.sh无法满足。如果你有一定的命令行使用经验,acme.sh使用起来还是非常方便,强烈推荐!关于更新后自动部署至多个节点的需求,建议使用下面介绍的ohttps。

在线免费申请 SSL证书

SSL证书申请网址:https://github.com/acmesh-official/acme.sh

提供了类似于acme.sh的功能,不过提供了友好的管理界面,可申请Let's Encrypt免费通配符类型证书,还提供了证书吊销、到期前提醒、自动更新、自动部署功能。另外比acme.sh增加了一些非常实用的功能,主要包括可自动部署至阿里云、腾讯云、七牛云的负载均衡、内容分发CDN、SSL证书列表等,并可自动部署至多个nginx容器中。如果你有在证书更新后自动部署至多个不同节点的需求,使用http://ohttps.com就对了,在这里强烈推荐大家使用http://ohttps.com申请和管理Let's Encrypt颁发的免费HTTPS证书。

在线免费申请 SSL证书

SSL证书申请网址:http://ohttps.com

评分

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注