为了安全起见,现在开发微信服务号和IOS客户端等访问服务器端都要求使用https加密传输。
SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。
Let’s Encrypt 也是一个 CA 机构,但这个 CA 机构是免费的!!!也就是说签发证书不需要任何费用。
现在讲解一下,如何在centos操作系统下,获得Lets Encrypt免费的ssl证书,并在nginx里配置使用。
安装Certbot客户端
Certbot是一个EPEL安装包,如果没有配置EPEL库,需要提前将库配置好。
运行以下命令安装Certbot:
$ sudo yum install certbot-nginx
2.使用Certbot生成证书
$ sudo certbot --authenticator standalone --installer nginx --pre-hook "nginx -s stop" --post-hook "nginx"
生成过程中需要输入域名,域名要提前进行解析。
3.修改nginx配置
certbot会在/etc/letsencrypt/live/目录下生成一个域名的目录,然后修改对应的nginx的配置。
ssl_certificate "/etc/letsencrypt/live/{域名}/fullchain.pem";
ssl_certificate_key "/etc/letsencrypt/live/{域名}/privkey.pem";
4.如何让证书永久免费呢?
Let‘s Encrypt证书有效期为90天,为了保证在过期前更新证书,Certbot提供了更新证书有效期的功能。使用以下功能可以进行更新:
$ sudo certbot renew --dry-run
也可以使用crontab自动更新证书有效期。
0 0,12 * * * python -c ‘import random; import time; time.sleep(random.random() * 3600)‘ && certbot renew
常见问题:
1. 生成证书的时候报错
Traceback (most recent call last):
File "/bin/certbot", line 9, in <module>
load_entry_point(‘certbot==1.6.0‘, ‘console_scripts‘, ‘certbot‘)()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 489, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2852, in load_entry_point
return ep.load()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2443, in load
return self.resolve()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2449, in resolve
module = __import__(self.module_name, fromlist=[‘__name__‘], level=0)
File "/usr/lib/python2.7/site-packages/certbot/main.py", line 2, in <module>
from certbot._internal import main as internal_main
File "/usr/lib/python2.7/site-packages/certbot/_internal/main.py", line 20, in <module>
from certbot._internal import account
File "/usr/lib/python2.7/site-packages/certbot/_internal/account.py", line 18, in <module>
from acme.client import ClientBase # pylint: disable=unused-import
File "/usr/lib/python2.7/site-packages/acme/client.py", line 39, in <module>
requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3() # type: ignore
File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 118, in inject_into_urllib3
_validate_dependencies_met()
File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 160, in _validate_dependencies_met
"‘pyOpenSSL‘ module missing required functionality. "
ImportError: ‘pyOpenSSL‘ module missing required functionality. Try upgrading to v0.14 or newer.
解决:
pip install --upgrade --force-reinstall ‘requests==2.6.0‘
服务器上仍然使用nginx进行代理:1.为二级域名申请ssl证书。2.在域名解析服务中,为二级域名添加解析记录。3.nginx默认读取/etc/nginx/conf.d/*.conf。在conf.d下建立二级域名对应的配置文件如vi blog.conf
SSL证书成为了当今网络安全的核心要素,所以安装SSL证书成为了不少人的选择。那么https证书申请费用是多少呢?下面就来说说。
根据您是网站的用户还是开发自己的网站,良好的在线体验将涉及安全的第三方和可信加密。为了理解如何完成这项工作并更好地理解为什么百度会支持某些元素
在过去,大多数公司只有在敏感信息需要在网站之间传输时,才使用SSL证书。例如,当×××输入用户名和密码来登录他们的账户时,或者当购物者在商业站点上输入信用卡信息时,使用SSL证书是非常常见的
微软推出了 App Service Managed Certificates 预览版。简单来说,这就是在 Azure App Service 服务的一项更新,免费送你SSL证书! 只要点几下鼠标就能给网站加上SSL证书!并且到期自动续命! 屌丝再也不需要996捣鼓
自己开发的使用了SSL协议的软件,通常没必要从证书签发机构那里来获取证书,自签证书成了必要的选择。自签证书还可以用来实现客户端登录认证。
您的网站安全吗?在黑客攻击频频发生的这个互联网时代,很多运营者都在纠结是否要安装SSL证书来提高网站的安全性,今天我们就来聊聊网站是否一定要安装SSL证书。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!