如何使用 SSL 在本地主机中运行 Flask 应用程序

问题描述 投票:0回答:1

我尝试在本地主机和本地网络的 IP 地址上运行 Flask 应用程序,它运行得很好(没有 SSL)。

但是,当我尝试使用 SSL 运行应用程序时,Web 浏览器未加载页面并给出错误:

您的连接不是私有的:NET::ERR_CERT_INVALID

我尝试过但失败的方法:

1。使用自签名

.pem
证书(主题类型=CA)

使用生成的证书

.pem
、证书密钥并配置我的烧瓶应用程序使用它。

openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365


app.run(
    host='192.168.1.127', port="8282", debug=True,
    ssl_context=('cert.pem', 'key.pem'),
)

2。使用自签名

.crt
证书

使用生成的证书

.crt
、证书密钥并配置我的烧瓶应用程序使用它。

$ openssl genrsa -des3 -out server.key 1024
$ openssl req -new -key server.key -out server.csr
$ cp server.key server.key.org
$ openssl rsa -in server.key.org -out server.key
$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

app.run(
    host='192.168.1.127', port="8282", debug=True,
    ssl_context=('server.crt', 'server.key')
)

3.使用

ssl_context='adhoc'

运行 Flask
```
app.run(
    host='192.168.1.127', port="8282", debug=True,
    ssl_context='adhoc'
)
```

我正在尝试构建一个系统,其中多个树莓派位于房子的不同房间,但它们连接到同一个家庭网络。

同一网络上有一台主计算机充当控制器,为了成功实现该系统,我需要通过 HTTPS 从控制器系统向所有 Raspberry PI 发出请求。

python flask raspberry-pi openssl ssl-certificate
1个回答
1
投票

它正在工作。

消息“连接不是私有的”具有误导性。实际发生的情况是,连接是使用不在您的信任链中的证书进行加密的。即使是这样,我怀疑浏览器是否会接受 IP 地址的证书。 无论如何,您的连接确实是加密的。

您没有显示其他详细信息。但您可以尝试将生成的证书添加到系统的信任链中。

© www.soinside.com 2019 - 2024. All rights reserved.