注册HTTPS证书

注册HTTPS证书

  • 1. 从ACME获取脚本文件
  • 2. 运行shell脚本
  • 3. 安装socat
  • 4. 把acme.sh这个脚本添加到环境变量
    • 软连接
    • 直接添加到.bashrc
  • 5. 注册ACME账户
    • 6. 注册证书
    • 6.1. 首先把80端口打开
    • 6.2. 申请证书
  • 7. 部署到Flask上

1. 从ACME获取脚本文件

 wget https://get.acme.shmv index.html acme.shchmod 777 acme.sh

上述三行命令就不多解释了
在这里插入图片描述
在这里插入图片描述

2. 运行shell脚本

在这里插入图片描述
可以看到已经安装成功了
但是我们应该注意到有三行红字,我们按照要求安装socat

3. 安装socat

apt install socat

在这里插入图片描述

4. 把acme.sh这个脚本添加到环境变量

  • 这个操作主要是为了方便操作,如果不觉得麻烦也可以省略

软连接

ls
ln -s /root/.acme.sh/acme.sh /usr/local/bin/

直接添加到.bashrc

vim ~/.bashrc
然后添加下面的路径,注意修改自己正确的路径
export PATH="$PATH:/your/additional/path"

在这里插入图片描述

5. 注册ACME账户

acms.sh --register-account -m youremail@xxmail.com

在这里插入图片描述

6. 注册证书

6.1. 首先把80端口打开

在这里插入图片描述

ufw allow 80

6.2. 申请证书

命令如下

acme.sh --issue -d yourdimian.top -standalone -k ec-256

如果无法注册

    如果默认CA无法颁发,则可以切换下列CA:切换 Let’s Encrypt:acme.sh --set-default-ca --server letsencrypt切换 Buypass:acme.sh --set-default-ca --server buypass切换 ZeroSSL:acme.sh --set-default-ca --server zerossl

大家申请时需要把域名换成自己的域名
加密方式可以自己去查一下,我用的时ec-256(256位ecc椭圆曲线)
在这里插入图片描述

  • 注意没打印证书之前都不算成功,CA可能会重复验证
  • 检查一下证书的目录
    在这里插入图片描述

7. 部署到Flask上

  • 本篇就不考虑使用apache了,使用python快速验证
  • 代码如下
from flask import Flask, render_template
import sslapp = Flask(__name__)@app.route('/')
def home():return render_template('index.html')if __name__ == '__main__':ssl_cert = '/root/.acme.sh/your.cre'ssl_key = '/root/.acme.sh/your.key'# 创建SSL上下文ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS)ssl_context.load_cert_chain(ssl_cert, ssl_key)# 启动Flask应用程序,使用HTTPS和SSL上下文app.run(host='0.0.0.0', port='443',ssl_context=ssl_context)

看一下我们的网站是否可用
在这里插入图片描述
看一下证书
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部