如何申请免费好用的HTTPS证书Let's
csr文件 时间:2021-04-03 阅读:(
)
EncryptLet'sEncrypt是一款免费、自动化、开放的证书签发服务(Let'sEncryptisanewCertificateAuthority:It'sfree,automated,andopen),它由非营利的网际网路安全研究组织ISRG(InternetSecurityResearchGroup,互联网安全研究小组)提供营运服务,并得到EFF、Mozilla、Cisco、Akamai、IdenTrust与密西根大学研究人员的支持,发展十分迅猛.
Let'sEncrypt目的在于推动全球所有的网站都使用HTTPS加密传输.
Let'sEncrypt已于2015年12月3日进入公测(PublicBeta),所有网站都可以免费获取Let'sEncrypt的证书.
如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop本文将介绍如何为个人的网站申请Let'sEncrypt的HTTPS证书.
在申请证书的时候,本博客使用到的是acme-tiny工具,可以参见https://github.
com/diafygi/acme-tiny.
当然你也可以使用Let'sEncrypt官方提供的certbot-auto工具来申请证书.
创建Let'sEncrypt账号先在服务器的创建一个文件夹,用于存放这里生产的所有文件,本博客使用到的目录是/data/web/ssl/,我们进入这个文件夹,然后使用下面命令创建一个RSA私钥用于Let'sEncrypt识别你的身份:iteblog$cd/data/web/ssl/iteblog$opensslgenrsa4096>account.
keyacme-tiny工具还可以使用之前生成的Let'sEncryptkey来创建RSA私钥,这里我就不介绍了.
为你的域名创建CSR文件1/5Let'sEncrypt的证书签发过程使用的就是ACME协议,而ACME协议要求用户提交一个CSR文件给它,创建域名RSA私钥和上面创建账号的RSA私钥用到的命令一样,如下:iteblog$opensslgenrsa4096>domain.
key但是我们需要注意的是,一定不要使用上面创建好的account.
key来当做domain.
key!
有了RSA私钥之后,我们就可以创建CSR文件了,一般域名都有www和不带www的,我们在创建CSR文件的时候全部写进去:iteblog$opensslreq-new-sha256-keydomain.
key-subj"/"-reqextsSAN-configdomain.
csr把上面的www.
iteblog.
com和iteblog.
com替换成你的域名即可.
如果提示找不到/etc/ssl/openssl.
cnf文件,那么看看/usr/local/openssl/ssl/openssl.
cnf文件是否存在;如果还是不存在,那你运行find/-name"openssl.
cnf"命令看是否可以找到;如果还是找不到,那你自己Google(Google翻墙用《Tunnello:免费的浏览器翻墙插件》)找下原因的.
配置验证服务在为域名签发证书的时候Let'sEncrypt需要确定你对这个域名拥有所有权,Let'sEncrypt的方法是在你的服务器上生成一个随机验证文件,再通过创建CSR时指定的域名访问,如果可以访问则表明你对这个域名有控制权.
我们可以如下操作:1、选中一个目录用于创建存放验证文件的目录,本博客使用的是/date/web/iteblog/www/challenges/,当然,这个目录你可以根据你自己实际情况设置:iteblog$mkdir-p/date/web/iteblog/www/challenges/2、在你的Nginx配置文件里面加入以下内容:2/5server{listen80;server_nameiteblog.
comwww.
iteblog.
com;location/.
well-known/acme-challenge/{alias/date/web/iteblog/www/challenges/;try_files$uri=404;}.
.
.
therestofyourconfig}设置完上面的配置之后需要重启nginx,那么如何验证上面的设置是否起作用我们只要在/date/web/iteblog/www/challenges目录下随便创建一个文件比如iteblog.
txt,然后我们通过/.
well-known/acme-challenge/iteblog.
txtURL访问那个文件,如果能够访问的话说明你配置正确;否则说明你配置错误!
这步一定要配置正确,否则下面步骤将无法进行下去.
获取网站证书上面步骤配置好之后,现在我们使用acme_tiny.
py来获取网站证书,我们先下载acme_tiny.
py脚本到/data/web/ssl/目录:iteblog$wgethttps://raw.
githubusercontent.
com/diafygi/acme-tiny/master/acme_tiny.
py然后执行以下命令获取网站证书:iteblog$pythonacme_tiny.
py--account-key.
/account.
key--csr.
/domain.
csr--acme-dir/date/web/iteblog/www/challenges/>.
/signed.
crt如果一切正常,当前目录下就会生成一个signed.
crt,这就是申请好的证书文件.
但是按照上面步骤运行不出意外的话我们肯定会遇到以下的异常:iteblog$pythonacme_tiny.
py--account-key.
/account.
key--csr.
/domain.
csr--acme-dir/date/web/iteblog/www/challenges/>.
/signed.
crtParsingaccountkey.
.
.
ParsingCSR.
.
.
3/5Registeringaccount.
.
.
Alreadyregistered!
Verifyingwww.
iteblog.
com.
.
.
Traceback(mostrecentcalllast):File"acme_tiny.
py",line198,inmain(sys.
argv[1:])File"acme_tiny.
py",line194,inmainsigned_crt=get_crt(args.
account_key,args.
csr,args.
acme_dir,log=LOGGER,CA=args.
ca)File"acme_tiny.
py",line123,inget_crtwellknown_path,wellknown_url))ValueError:Wrotefileto/date/web/iteblogssl/www/challenges/LQJxTnLALp0ef3kB3-63tT6J0QEqNrKa35QtXoBBFXU,butcouldn'tdownload/.
well-known/acme-challenge/LQJxTnLALp0ef3kB3-63tT6J0QEqNrKa35QtXoBBFXU网上有人说这是因为你的域名DNS服务器是在国内导致的,这个是错误的!
因为我把我域名DNS迁移到国外,等DNS服务器全部生效之后,还是遇到上面的异常,后来我Google了一番,找了很多英文资料,后面终于找到了原因!
是因为acme_tiny.
py脚本的问题导致的,我们可以编辑acme_tiny.
py脚本,注释掉下面的全部内容:try:resp=urlopen(wellknown_url)resp_data=resp.
read().
decode('utf8').
strip()assertresp_data==keyauthorizationexcept(IOError,AssertionError):os.
remove(wellknown_path)raiseValueError("Wrotefileto{0},butcouldn'tdownload{1}".
format(wellknown_path,wellknown_url))然后保存再次获取网站证书:iteblog$pythonacme_tiny.
py--account-key.
/account.
key--csr.
/domain.
csr--acme-dir/date/web/iteblogssl/www/challenges/>.
/signed.
crtParsingaccountkey.
.
.
ParsingCSR.
.
.
Registeringaccount.
.
.
Alreadyregistered!
Verifyingwww.
iteblog.
com.
.
.
www.
iteblog.
comverified!
Verifyingiteblog.
com.
.
.
iteblog.
comverified!
4/5Signingcertificate.
.
.
Certificatesigned!
如果你看到如上的内容,那么恭喜你,你的网站证书已经成功获取了!
这时候我们的/data/web/ssl/目录下应该有如下几个文件了[iteblog@iteblog.
comssl]$lltotal28-rw-r--r--1iteblogiteblog3243Aug509:21account.
key-rw-r--r--1iteblogiteblog9159Aug509:33acme_tiny.
py-rw-r--r--1iteblogiteblog1635Aug509:22domain.
csr-rw-r--r--1iteblogiteblog3243Aug509:21domain.
key-rw-r--r--1iteblogiteblog2163Aug509:34signed.
crt到目前为止我们已经成功地申请到Let'sEncrypt的HTTPS证书了,对于Nginx用户,我们还需要把Let'sEncrypt的中间证书加入到刚刚生成的signed.
crt文件中,具体操作如下:iteblog$wget-O-https://letsencrypt.
org/certs/lets-encrypt-x3-cross-signed.
pem>intermediate.
pemiteblog$catsigned.
crtintermediate.
pem>chained.
pem上面申请完证书之后,我们到《在Nginx中使用Let'sEncrypt免费证书配置HTTPS》文章里面查看如何在nginx配置HTTPS.
本博客文章除特别声明,全部都是原创!
原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载.
本文链接:【】()PoweredbyTCPDF(www.
tcpdf.
org)5/5
HostKvm是一家成立于2013年的国外主机服务商,主要提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。目前商家发布了夏季特别促销活动,针对香港国际/韩国机房VPS主机提供7折优惠码,其他机房全场8折,优惠后2GB内存套餐月付5.95美元起。下面分别列出几款主机套餐配置信息。套餐:韩国KR...
百纵科技:美国云服务器活动重磅来袭,洛杉矶C3机房 带金盾高防,会员后台可自助管理防火墙,添加黑白名单 CC策略开启低中高.CPU全系列E52680v3 DDR4内存 三星固态盘列阵。另有高防清洗!百纵科技官网:https://www.baizon.cn/联系QQ:3005827206美国洛杉矶 CN2 云服务器CPU内存带宽数据盘防御价格活动活动地址1核1G10M10G10G38/月续费同价点击...
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...
csr文件为你推荐
mathplayer比较word,TeX,MathML中的数学公式处理方式的异同点,尽量详细哦,分数不是问题,谢谢哈,会加分的。百度关键词工具常见百度关键词挖掘方法分别是什么请列举?www.yahoo.com.hk香港的常用网站www.gegeshe.comSHE个人资料www.baitu.com韩国片爱人.欲望的观看地址www.22zizi.com乐乐电影天堂 http://www.leleooo.com 这个网站怎么样?www.36ybyb.com有什么网址有很多动漫可以看的啊?我知道的有www.hnnn.net.很多好看的!但是...都看了!我想看些别人哦!还有优酷网也不错...汴京清谈汴京平,众争趋赀货,璋独无所取,惟载书数千卷而还什么意思铂金血痕求Hp卢修斯,v大,盖特勒重生文,cp不要斯内普和邓不利多,名子和简介就行.最好是晋江的.谢谢.www.5566.com.cn免费手机游戏
淘宝虚拟主机 域名城 域名买卖 美国域名注册 中文域名查询 天津服务器租赁 便宜建站 godaddy续费优惠码 域名优惠码 suspended 外国域名 名片模板psd 360抢票助手 淘宝双十一2018 免费个人博客 天猫双十一抢红包 帽子云 国外免费全能空间 699美元 美国免费空间 更多