AI软件下载
有趣网站推荐及实用软件下载

服务器端使用Python脚本配置IP地址的https访问,免费申请SSL证书教程

由于没有域名,服务器只能通过http IP访问,不能像在服务商后台一键申请证书那么简单,所以只能自己配置证书,也没有安装Apache和Nginx只是使用Python的web服务器模块

示例环境,Debian系统,Python3.11,直接上步骤

使用自签名方式,终端里运行代码:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.pem -out certificate.pem

接下来会提示你输入一些信息,如国家啊CN,城市,公司,邮箱等信息,输入完成后会在当前目录下生成两个私钥公钥文件,privateKey.pem、certificate.pem

然后编写需要运行的Python脚本文件a.py,代码参考如下:

from flask import Flask, request, jsonify
import os

app = Flask(__name__)

#其它逻辑处理代码

#……

# 示例
@app.route(‘/register’, methods=[‘POST’])
def register():
data = request.json
phonenumber = data.get(‘phonenumber’)
password = data.get(‘password’)

if __name__ == ‘__main__’:
app.run(port=2233, host=’0.0.0.0′,ssl_context=(‘certificate.pem’, ‘privateKey.pem’))

我服务器安装完默认的5000端口,默认只能本地127.0.0.1链接,这里定义了端口为2233,host=’0.0.0.0’表示所有IP都可以访问,ssl_context=(‘certificate.pem’, ‘privateKey.pem’)表示当前目录下的两个证书文件。

然后在终端运行如下命令启动服务:

nohup python3.11 a.py >> ./log.a 2>&1 &

远程访问的链接为:https//IP地址:2233/register

这样就实现了服务器IP地址的https加密访问

可以通过如下命令查看脚本运行日志内容:

cat ./log.a

上方的代码仅用于开发测试,正式使用环境系统会建议你不要使用flask开发服务器,要使用一个专门的WSGI服务器,如Gunicorn或uWSGI,这些服务器能够提供更好的性能和稳定性。操作方法为删除a.py里最下面两行代码,启动服务命令改为:

nohup gunicorn -w 4 -b 0.0.0.0:2233 a:app –certfile=certificate.pem –keyfile=privateKey.pem –access-logfile access.log –error-logfile error.log &

access.log为访问日志,error.log为错误日志


上面的方法只是实现了https的加密访问方式,但在有些情况下某些软件可能不支持这类自签名SSL证书,比如UE5,下面以zerossl.com为例为IP申请免费SSL证书,打开网站输入IP地址,点击下一步

输入邮箱密码创建账号

按页面提示内容一步步操作,选时间的时候要选90天,1年的是要付费的

接着操作到验证地址这一步,我们没有域名,所以选择下载文件验证,点击Download Auth File按钮将txt文件下载到电脑上

然后在服务器默认访问文件夹下,如root下创建文件夹路径/.well-known/pki-validation/,将txt文件上传到这个路径文件夹内

然后在终端运行如下命令:

sudo python3.11 -m http.server 80

启用python的http服务,在浏览器里打开http://IP地址/.well-known/pki-validation/5BAE6C77835E606FE6B85CD37EB05C89.txt

看到文本内容就表示成功了,然后返回zerossl点击验证域名按钮

下载证书文件,点击download按钮

将下载的zip文件解压,得到三个文件,证书文件、私钥、中间文件,上传到服务器/etc/ssl/zerossl文件夹内

运行下面的命令将证书文件和中间证书合并为一个

cat /etc/ssl/zerossl/certificate.crt /etc/ssl/zerossl/ca_bundle.crt > /etc/ssl/zerossl/combined_cert.pem

修改上面的启动服务的命令启动python脚本即可

nohup gunicorn -w 4 -b 0.0.0.0:2222 a:app –certfile=/etc/ssl/zerossl/combined_cert.pem –keyfile=/etc/ssl/zerossl/private.key –access-logfile apiaccess.log –error-logfile apierror.log &

这时不管在浏览器里还是在UE里访问链接都会提示链接是安全的了

AI应用在线一键启动,低价爽玩4090:立即体验>>

软件催更及1对1人工答疑支持: https://nuowa.net/1806
赞(0) 打赏
软件无法使用?点击查看常见问题说明>>

最近更新

comfyui视频人物换主体工作流及模型下载-诺瓦小站

comfyui视频人物换主体工作流及模型下载

本次分享一个好玩的视频人物换主体工作流,本工作流可以使用一张图片中的主体替换视频中的人物主体。比如抖音上很多热门的猴子炒饭,奥特曼炒饭,猴子vlog等等,都可以使用人物主体替换把原来视频中的人物替换成指定的人物。 comfyui工作流节点使...

凡人修仙传动画韩立高清图片壁纸素材AI绘画图集-诺瓦小站

凡人修仙传动画韩立高清图片壁纸素材AI绘画图集

恭迎韩天尊! 祝贺韩天尊顺利结婴! 热门国漫凡人修仙传动画已经更新了5年了,最新一集,主人公韩立顺利结婴,成为一名元婴修士。我属于是比较喜欢看动漫的,看过的动漫估计没过百也得大几十了,热门国漫大多都看过。凡人修仙传算是最喜欢的动漫之一,韩立...

觉得文章对你有帮助就打赏一下作者

非常感谢你的打赏,我将有更多的动力继续提供优质内容,让我们一起创建更加美好的世界!

支付宝扫一扫

微信扫一扫