node.js - 如何在主机 0.0.0.0 上运行 create-react-app
问题描述
更新:我发现问题是 create-react-app 永远不会将主机更改为 0.0.0.0。这是由于我在工作中运行它的网络。如果我从烧瓶服务器中删除 0.0.0.0 ,它会给出相同的错误。它仅适用于 0.0.0.0 作为 Flask 中的主机名,但我找不到在其上运行反应服务器的任何方法。它只在 localhost:3001 和 ip:3001 上运行,这两者都给我带来了 https 错误。
我无法从 create-react-app 启动示例应用程序,并且 TLS 1.2+ 是我的工作网络支持的唯一协议。
我为 React 制作了一个 .env 文件,如下所示。但是,Chrome 表示它不是受信任的证书,不会加载。有没有办法强制使用 env 变量的协议?
HTTPS=true
HOST=0.0.0.0
PORT=3001
SSL_CRT_FILE=file.cer
SSL_KEY_FILE=file.key
我的烧瓶服务器遇到了类似的问题,但最终让它按如下方式工作
def ssl_setup():
cer_file = file.cer
key_file = file.key
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
context.load_cert_chain(cer_file, key_file)
if __name__ == "__main__":
app.run(host='0.0.0.0', port=5001, ssl_context=ssl_setup())
使用 chrome 开发工具,它显示 Flask 使用的是 AES256,而 React 使用的是 AES128。也许这就是问题所在?
强制 256 位仍然不起作用,它一直说我的证书无效,即使它在 Python 中工作得很好。为了强迫它,我用export NODE_OPTIONS=--tls-cipher-list=''ECDHE-RSA-AES128-GCM-SHA256:!RC4''
解决方案
推荐阅读
- php - 在codeiginiter中编辑期间如何在下拉列表中获取正确的值?
- user-interface - JAVA FX 类 GUI
- qt - 如何将数据注入到加载器显示的 QT 项目中
- unity3d - 由于我将 Unity 编辑器版本更新到最后一个测试版,因此我找不到统一包。那是一个错误吗?
- mysql - 将 /etc 挂载到主机时,MySQL 无法在 Docker 中启动
- react-native - React Native 一次打开一个弹出菜单
- r - 嵌套 if / else if 以多个列值为条件 - R
- cassandra - 从 SSTable 读取时 Cassandra 如何处理重复数据
- mysql - 在python中使用函数时表不更新
- networking - TinyOS UDP 支持?