FreeSSL申请免费域名证书

本文详细讲解如何申请免费证书,需要先准备好域名,将服务器IP和域名绑定。

1、注册FreeSSL账号

网址: https://freessl.org/

2、申请流程

登录后首页输入域名,然后点击Create certificate,跳转到证书申请页面。

或者在首页点击Account菜单也可以跳转到下面的申请页面。

输入域名后点击Next Step跳转到下面的选项,选择90天的免费证书。

选择自动生成CSR,点击Next Step

最后一步是选择证书套餐,选择Free 90-Day Certificates直接Next Step。

3、域名验证

这一步需要证明域名是你的,有三种验证方法,分别是邮箱验证,DNS和服务器文件上传。

第三种方法只要绑定域名的服务器可以登录就可以,下面使用该方法验证。

**(1)获取验证信息:**上图中的Auth path是一个字符串,内容类似于下面这样,由域名和一段字符组成www.xxxx.com9DFGDFG89HG8ER9HGE.txt

(2)准备验证文件: 在服务器 /home/www/.well-known/pki-validation路径下新建一个文件,名称为9DFGDFG89HG8ER9HGE.txt(也就是Auth path把域名去掉的部分),将上图Auth value中的内容写到该文件中。

(3)启动HTTP服务:/home/www 目录下新建file_server.py,代码内容如下

复制代码
import os
import flask


app = flask.Flask(__name__)


@app.before_request
def before():
    root_dir = os.path.dirname(__file__)
    sub_dir = flask.request.full_path
    if sub_dir[0] == "/":
        sub_dir = sub_dir[1:]
    if sub_dir[-1] == "?":
        sub_dir = sub_dir[:-1]
    if os.name == "nt":
        sub_dir = sub_dir.replace("/", "\\")

    file_path = os.path.join(root_dir, sub_dir)
    if os.path.exists(file_path):
        return flask.send_file(file_path, as_attachment=False)
    else:
        return file_path


if __name__ == "__main__":
    app.run(host="0.0.0.0", port=80, debug=True)

执行上面的代码开启HTTP服务

python file_server.py

然后在FreeSSL中点击Verify Domain按钮验证,完成验证后下载证书即可。

FreeSSL验证的时候会通过特定的Get请求获取验证文件,请求的URL如下所示

/.well-known/pki-validation/9DFGDFG89HG8ER9HGE.txt

因此也可以用tomcat或者其他方法提供HTTP服务。

相关推荐
Avan_菜菜8 小时前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB1 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
zzzzzz3103 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode3 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220703 天前
如何搭建本地yum源(上)
运维
大树886 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠6 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质6 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz6 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工6 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信