如何申请免费好用的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
spinservers是Majestic Hosting Solutions LLC旗下站点,主营国外服务器租用和Hybrid Dedicated等,数据中心在美国达拉斯和圣何塞机房。目前,商家针对圣何塞部分独立服务器进行促销优惠,使用优惠码后Dual Intel Xeon E5-2650L V3(24核48线程)+64GB内存服务器每月仅109美元起,提供10Gbps端口带宽,可以升级至1Gbp...
ShockHosting商家在前面文章中有介绍过几次。ShockHosting商家成立于2013年的美国主机商,目前主要提供虚拟主机、VPS主机、独立服务器和域名注册等综合IDC业务,现有美国洛杉矶、新泽西、芝加哥、达拉斯、荷兰阿姆斯特丹、英国和澳大利亚悉尼七大数据中心。这次有新增日本东京机房。而且同时有推出5折优惠促销,而且即刻使用支付宝下单的话还可获赠10美金的账户信用额度,折扣相比之前的常规...
vollcloud LLC创立于2020年,是一家以互联网基础业务服务为主的 技术型企业,运营全球数据中心业务。致力于全球服务器租用、托管及云计算、DDOS安 全防护、数据实时存储、 高防服务器加速、域名、智能高防服务器、网络安全服务解决方案等领域的智 能化、规范化的体验服务。所有购买年付产品免费更换香港原生IP(支持解锁奈飞),商家承诺,支持3天内无条件退款(原路退回)!点击进入:vollclo...
csr文件为你推荐
johncusack约翰·库萨克好看的的恐怖片全集杨紫别祝我生日快乐一个人过生日的伤感说说有什么蓝色骨头手机蓝色骨头为什么还没上映西部妈妈网加入新疆妈妈网如何通过验证?甲骨文不满赔偿工作不满半年被辞退,请问赔偿金是怎么算的?www.jjwxc.net在哪个网站看小说?嘀动网动网和爱动网各自的优势是什么?罗伦佐娜手上鸡皮肤怎么办,维洛娜毛周角化修复液www.7788k.comwww.6601txq.com.有没有这个网站ip查询器怎么样查看自己电脑上的IP地址
备案域名 花生壳免费域名 网络星期一 php免费空间 北京主机 三拼域名 有奖调查 789电视网 135邮箱 百度云1t 如何用qq邮箱发邮件 电信虚拟主机 鲁诺 网站在线扫描 闪讯官网 空间登入 dnspod iki lamp兄弟连 广东主机托管 更多