个人觉得决定SSL证书价格的是两大原因:腾讯云免费ssl证书,为什么HTTPS的证书那么贵还能免费取得一是安全腾讯云免费ssl证书,证书应该具备加密传输和可验证两个用途快速备案域名快速备案。发证机构要做好证书的管理,不加审阅的滥发会导致根证书机构的不可信认,那样的证书基本上没什么安全可言。至于免费证书,你也知道,想做什么证书都可以,那么这个证书就只剩下加密传输一个用途。二是第三方支持,尤其是微软、谷歌、苹果的认可支持。如果你的网站是对内用户而且只有PC版的可以考虑免费证书,否则建议你还是买个好证书吧。下面分享两个垃圾证书的例子吧:一是我们公司就买过一个垃圾证书,用户使用谷歌、360浏览器访问时会出现安全提示,必须点击高级选项将证书加受信列表才能正常访问,IE浏览器没问题。得亏是内部用户可以指导一下,如果是外面的客户访问你怎么指导?另外一件事是我们将公众号后台升级后,iphone用户居然无法打开网页,因为苹果不支持…总之,这世上都是一分钱一分货,别以为什么东西都能免费、低价取得,免费的东西都是最贵的。让网站永久拥有 – 申请免费SSL证书并自动续期 Let’s Encrypt为什么要用 网站没有使用的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可能会被运营商劫持,然后在网站里显示一些莫名其妙的广告。 有的时候,通俗地讲所有的数据传输都会被加密,你和网站之间的数据交流也就更加安全。相关简介Let’s Encrypt 如果要启用,我们就需要从证书授权机构处获取一个证书,Let’s Encrypt 就是一个证书授权机构。我们可以从 Let’s Encrypt 获得网站域名的免费的证书。Certbot Certbot是Let’s Encrypt推出的获取证书的客户端,可以让我们免费快速地获取Let’s Encrypt证书。便宜SSL 便宜SSL是一家国内的SSL证书提供商,同样也拥有免费证书。而且提供丰富的工具: :///tools。获取证书 获取SSL证书的过程大体上都一样。既可以图形化,也可以命令行,最后实现的效果都完全一样,大家各取所需。命令行安装Certbot 进入Certbot的官网,选择你所使用的软件和系统环境,然后就会跳转到对应版本的安装方法,以Ubuntu Nginx为例。sudo apt-get updatesudo apt-get install software-properties-commonsudo add-apt-repository ppa:certbot/certbotsudo apt-get updatesudo apt-get install certbot申请证书 安装完成后执行:certbot certonly –webroot -w /var/ -d example.com -d 这条命令的意思是为以/var/为根目录的两个域名example.com和申请证书。 如果你的网站没有根目录或者是你不知道你的网站根目录在哪里,可以通过下面的语句来实现:certbot certonly –standalone -d example.com -d 使用这个语句时Certbot会自动启用网站的443端口来进行验证,如果你有某些服务占用了443端口,就必须先停止这些服务,然后再用这种方式申请证书。 证书申请完之后,Certbot会告诉你证书所在的目录,一般来说会在/etc/letsencrypt/live/这个目录下。图形化 进入便宜SSL的官网://,注册了账号之后,选择那个体验版的免费测试,然后点确认购买。 输入域名并点击生成CSR并提交申请按钮。 点击确定按钮。 接下来会选择验证方式。 这里我选择邮箱验证方式,其它另外两种依照你的个人情况而定,反正就是为了验证域名是不是你的而已。 大约过几分钟,邮箱会收到一封验证邮件,如下图,复制②指向的一串验证码,点击①处的Here链接。 输入验证码,点击Next>按钮。 提示已经输入正确的验证码,点击Close Window。 大约等到10分钟左右,再次登陆 ://,进入个人中心,可以看到已经成功申请SSL证书,点击查看详情。 此时你可以点击箭头所指的证书打包下载,然后免费的SSL证书就可以下载到本地了,下载后可以看到SSL压缩包内的文件。部署证书 找到网站的Nginx配置文件,找到listen 80;,修改为listen 443;在这一行的下面添加以下内容:ssl on;ssl_certificate XXX/fullchain.pem; 修改为fullchain.pem所在的路径ssl_certificate_key XXX/privkey.pem; 修改为privkey.pem所在的路径ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on; 保存退出后,通过nginx -t来检查配置文件是否正确,有错误的话改之即可。配置文件检测正确之后,通过nginx -s reload来重载配置文件。 然后通过访问://example.com来查看是否配置成功。 如果发现无法访问或者是加载不出来的话检查一下443端口有没有开启!设置 上一步成功之后大家可能会发现通过原来的无法访问网页了,因为端口,我们刚才将其修改为443端口了。在这里我们可以在配置文件的最后一行加入以下代码:server {listen 80;server_name example.com; 这里修改为网站域名rewrite ^(.*)$ ://$host$1 permanent;}意思是每一个通过80端口访问的请求都会强制跳转到443端口,这样一来访问的时候就会自动跳转到://example.com了。命令行下设置证书自动续期 有心的小伙伴可能会留意到我们刚才申请的整数的有效期只有90天,不是很长,可是我们可以通过Linux自带的cron来实现自动续期,这样就相当于永久了。 随便找一个目录,新建一个文件,名字随便起,在这里以example为例,在里面写入0 */12 * * * certbot renew –quiet –renew-hook “/etc/init.d/nginx reload”,保存。 然后在控制台里执行crontab example一切都OK了。原理是example里存入了一个每天检查更新两次的命令,这个命令会自动续期服务器里存在的来自Certbot的SSL证书。然后把example里存在的命令导入进Certbot的定时程序里。附:其它环境下的证书部署 :///support/Nginx相关命令nginx -t 验证配置是否正确nginx -v 查看Nginx的版本号service nginx start 启动Nginxnginx -s stop 快速停止或关闭Nginxnginx -s quit 正常停止或关闭Nginxnginx -s reload 重新载入配置文件crontab相关命令cat /var/log/cron 查看crontab日志crontab -l 查看crontab列表crontab -e 编辑crontab列表systemctl status crond.service 查看crontab服务状态systemctl restart crond.service 重启crontab参考文档://lucien.ink/archives/81/:///zoro-zero/p/6590503.html/gsls200808/article/details/53486078://certbot.eff.org/#ubuntuxenial-other/en/docs/:///zdz8207/p/10729294.html
本文出自快速备案,转载时请注明出处及相应链接。