您可能已经注意到,在过去几年中,您最喜欢的许多网站已从 HTTP 地址转移到 HTTPS。 HTTP->HTTPS只增加一个"S"字母,为网站和平台增加了巨大的价值和安全性。 拥有HTTPS 站点不仅会使您的企业更受访问者信赖,而且它在搜索中的排名也会更高。
什么是SSL证书?
SSL 证书可验证您网站的身份,并对在您的客户浏览器与您的网站之间传输的信息进行加密。 这可以防止网络犯罪分子窥探您与客户之间的互动。
SSL 证书可确保您的网站安全; 客户可以确保他们在安全页面上输入的信息是私密的,不会被网络犯罪分子看到。
SSL证书的重要性有哪些?
在线用户更关心自己的信息安全和隐私。 SSL 在 Web 安全方面发挥着重要作用,因为它使用加密技术在浏览器和服务器之间创建了安全隧道。 它激励您的客户充满信心地完成交易。
- 加密: SSL 将加密个人信息,例如登录凭据、社会安全号码或付款详细信息,并安全地传输数据。
- 身份验证: SSL 身份验证过程确保您的网站与实际服务器交互,服务器验证用户不是冒名顶替者。
- 信任: SSL 将提高您客户的信任度,并通过在您的网站上创建一个值得信赖的环境,让他们有信心安全地完成交易。
HTTPS与HTTP有哪些区别?
颁发数字证书并安装在服务器上,这会为不安全的 HTTP URL 添加额外的“S”。 HTTPS 意味着网站是安全的,可以安全地进行在线交易。 它是一种安全协议,可保护用户浏览器和服务器之间在网站上共享的信息。
要创建启用 HTTPS 的站点,您必须在 Web 服务器上安装 SSL 证书。 SSL 安全适用于 HTTPS 而不是不安全的 HTTP。 建议购买 SSL 证书,将您的站点从不安全的 HTTP 协议切换到安全的 HTTPS 协议。
无论您选择廉价的 DV SSL 还是昂贵的 OV 或 EV 证书,所有证书都为您的网站提供相同级别的安全性。 验证流程之间的唯一区别是为客户增加更多信任。
- DV SSL : 域验证是一种基础SSL证书类型,CA 仅验证域所有权。
- OV SSL : Organization Validation优于域验证。 在这种类型中,CA 验证域所有权以及注册的商业文件和其他与商业相关的法律文件。
- EV SSL : 扩展验证进行最高验证,在证书详细信息中显示公司名称。 任何人都可以单击挂锁并检查经过验证的公司名称。 此外,CA 通过检查所有商业登记文件、第三方企业目录进行地址验证和呼叫验证,如果 CA 发现它需要,来严格验证业务。
当下的互联网,包括网站、APP、小程序、API接口等都被要求HTTPS协议加密!同时,浏览器厂家对于依旧使用的http的网站直接标注为不安全网页!这会导致用户对网站的不信任,导致用户的流失。所以安装证书还是很有必要的,认证级别越高、覆盖范围越广的证书,价格越贵。今天给大家推荐一个免费的HTTPS证书 – Let's Encrypt,非常适合个人网站、以及个人博客。
安装Let’s Encrypt证书
获取certbot-auto
下载certbot-auto wget https://dl.eff.org/certbot-auto 授权 chmod a+x certbot-auto
申请证书
关闭web服务器
生成证书前需要暂时关闭web服务器
service nginx stop 或 ./nginx -s stop
注:Certbot 会启动一个临时服务器来完成验证(会占用80端口或443端口,因此需要暂时关闭 Web 服务器)
申请证书
常规申请
./certbot-auto certonly
快速申请
./certbot-auto certonly --standalone --email xxx@xxx.com --agree-tos -d xxx.com -d www.xxx.com
注:
--email 后面跟证书申请人的邮箱
-d 后面跟域名,多个域名请用多个-d,参上
配置证书
Let’s Encrypt的证书链文件和私钥文件默认是在/etc/letsencrypt/live目录下,并且按照申请的域名进行分类。
Nginx中配置SSL证书的配置文件参考如下:
server { listen 443 ssl; server_name xxx.com; location / { # .... } ssl_certificate /etc/letsencrypt/live/xxx.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/xxx.com/privkey.pem; } server { listen 80; server_name xxx.com; location / { # ... } #如果需要把http强制转换为https,需要配置以下内容 if ($host = xxx.com) { return 301 https://$host$request_uri; } }
配置证书自动续期
Let’s Encrypt证书的有效期为3个月,手动续期太麻烦,所以可配置自动续期的定时任务。
操作linux系统自带的定时任务 sudo crontab -e 直接配置如下: 以下是每月的1号凌晨1点执行 0 1 1 * * /home/application/certbot-auto renew --renew-hook "sudo nginx -s reload" 查看是否配置成功 sudo crontab -l