如何申请免费好用的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
Friendhosting商家在前面的篇幅中也又陆续介绍到,是一家保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌克兰和美国洛杉矶等。这不近期黑色星期五活动,商家也有推出了黑五优惠,VPS全场一次性45折,虚拟主机4折,全球多机房可选,老用户续费可获9折加送1个月使用时长,VDS折后最低仅€14.53/年,有需要的可以看看。Friendhos...
艾云怎么样?艾云是一家去年年底成立的国人主机商家,商家主要销售基于KVM虚拟架构的VPS服务,机房目前有美国洛杉矶、圣何塞和英国伦敦,目前商家推出了一些年付特价套餐,性价比非常高,洛杉矶套餐低至85元每年,给500M带宽,可解奈飞,另外圣何塞也有特价机器;1核/1G/20G SSD/3T/2.5Gbps,有需要的朋友以入手。点击进入:艾云官方网站艾云vps促销套餐:KVM虚拟架构,自带20G的防御...
imidc怎么样?imidc彩虹数据或彩虹网络现在促销旗下日本多IP站群独立服务器,原价159美元的机器现在只需要88美元,而且给13个独立IPv4,30Mbps直连带宽,不限制月流量!IMIDC又名为彩虹数据,rainbow cloud,香港本土运营商,全线产品都是商家自营的,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非...
csr文件为你推荐
特朗普取消访问丹麦特朗普出国访问什么飞机护送?云计算什么是云计算?中老铁路中国有哪些正在修的铁路原代码源代码是什么百花百游百花百游的五滴自游进程www.qq530.com谁能给我一个听歌的网站?4400av.com在www.dadady.com 达达电影看片子很快的啊ip查询器查看自己IP的指令555sss.comms真的是500万像素?sodu.tw给个看免费小说的网站
济南域名注册 winscp 建站代码 河南m值兑换 91vps 免费phpmysql空间 网站在线扫描 512mb smtp虚拟服务器 数据库空间 阵亡将士纪念日 广州服务器托管 万网服务器 google搜索打不开 塔式服务器 web服务器 asp简介 linuxvi 宿主机 lighttpdwindows 更多