【问题标题】:how to run flask app in localhost with SSL如何使用 SSL 在 localhost 中运行烧瓶应用程序
【发布时间】:2020-01-22 14:15:34
【问题描述】:

我尝试在本地主机以及本地网络的 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】:

它的工作。

connection not private 消息具有误导性,实际发生的情况是连接使用不在您的信任链中的证书加密。即使是这样,我也怀疑浏览器会接受 IP 地址的证书。

无论如何,您的连接确实是加密的。

您无需了解额外的细节。但您可以尝试将生成的证书添加到系统的信任链中。

【讨论】:

    猜你喜欢
    • 2020-01-31
    • 2015-07-05
    • 2018-10-25
    • 2019-11-13
    • 2018-12-13
    • 2016-07-12
    • 1970-01-01
    • 2020-05-23
    • 2012-11-19
    相关资源
    最近更新 更多