如何申请免费好用的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四月优惠:VPS主机全场八折,香港/美国洛杉矶机房$5.2/月起

HostKvm是一家成立于2013年的国外主机服务商,主要提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。本月商家针对全场VPS主机提供8折优惠码,优惠后美国洛杉矶VPS月付5.2美元起。下面列出几款不同机房VPS主机产品配置信息。套餐:美国US-Plan0CPU:1cores内存:1GB硬...

Nocser:马来西亚独立服务器促销$60.00/月

Nocser刚刚在WHT发布了几款促销服务器,Intel Xeon X3430,8GB内存,1TB HDD,30M不限流量,月付$60.00。Nocser是一家注册于马来西亚的主机商,主要经营虚拟主机、VPS和马来西亚独立服务器业务,数据中心位于马来西亚AIMS机房,线路方面,AIMS到国内电信一般,绕日本NTT;联通和移动比较友好,联通走新加坡,移动走香港,延迟都在100左右。促销马来西亚服务器...

HostKvm(4.25美)香港和俄罗斯高防机房云服务器

HostKvm 商家我们算是比较熟悉的国内商家,商家主要还是提供以亚洲数据中心,以及直连海外线路的服务商。这次商家有新增香港和俄罗斯两个机房的高防服务器方案。默认提供30GB防御,且目前半价优惠至4.25美元起步,其他方案的VPS主机还是正常的八折优惠。我们看看优惠活动。香港和俄罗斯半价优惠:2021fall,限购100台。通用优惠码:2021 ,八折优惠全部VPS。我们看看具体的套餐。1、香港高...

csr文件为你推荐
太空国家世界上第一个把人类送入太空的国家是有机zz怎么看不了呢youj1zz不能看还有什么网站陈嘉垣陈浩民狼吻陈嘉恒是什么时候的事www.qq530.com谁能给我一个听歌的网站?haole16.com国色天香16 17全集高清在线观看 国色天香qvod快播迅雷下载地址斗城网女追男有多易?喜欢你,可我不知道你喜不喜欢我!!平安夜希望有他陪我过www.kaspersky.com.cn现在网上又有病毒了?kb123.net股市里的STAQ、NET市场是什么?dadi.tvapple TV 功能介绍bk乐乐《哭泣的Bk》是Bk乐乐唱的吗?
naning9韩国官网 inmotionhosting 外国域名 网站监控 商家促销 商务主机 最好的免费空间 新家坡 如何用qq邮箱发邮件 空间技术网 网通服务器托管 如何安装服务器系统 彩虹云 台湾google qq金券 杭州电信宽带优惠 购买空间 汤博乐 hdsky 锐速 更多