【问题标题】:Post file from one server to another将文件从一台服务器发布到另一台服务器
【发布时间】:2019-01-24 15:29:45
【问题描述】:

我有一个 Apache 服务器 A 设置,当前托管一个条形图的网页(使用 Chart.js)。该数据目前每隔几秒钟从本地 SQLite 数据库中提取一次,并且网络图表会更新。

我现在想在 Raspberry Pi 上使用单独的服务器 B 将数据发送到服务器以用于图表,而不是使用服务器 A 上的数据库。

因此,一台服务器将文件发送到另一台服务器,另一台服务器以某种方式意识到这一点并接受并处理它。

数据既可以发送并放入当前的 SQLite 数据库,也可以绕过数据库,直接从 Pi 发送的信息中更新图表。

我遇到过 HTTP Post 请求,但不确定这是否是我需要的,或者不知道如何实现它。

我已经设法让 Pi 简单地托管一个 json 文件(可从外部 IP 地址查看)并使用 Python 中的简单 requests.get('ip_address/json_file') 从中提取数据,但这并不这似乎是最强大或最安全的解决方案。

任何关于我应该使用什么的帮助都非常感谢,谢谢!

【问题讨论】:

  • 您可以寻找安全连接的发布请求。如果您需要进一步的安全性,您可以在 db 中插入数据并拉取发布请求。
  • @mad_ 你的意思是在 Pi 服务器 B 上的数据库中拥有数据,然后以某种方式将其拉到服务器 A 上?
  • 只需使用 websocket 将它们连接起来。轻松无痛的实时通信
  • 它不是 python,但我建议使用 this post 中描述的 sftp。

标签: javascript php python html apache


【解决方案1】:

也许我不太明白你的要求,但这是我想象的解决方案:

  1. 您创建了一个前端,它支持连接到服务器A的WebSocket
  2. 服务器 B(在树莓上运行的服务器)发送 POST 请求 使用 JSONServer A
  3. 服务器 A 接受 JSON 并将其发送给所有通过 WebSocket 协议连接的客户端

服务器 B ----> 服务器 A ----> 前端

这样您就不会直接暴露您的 Raspberry,前端发出的每个请求都只会发送到 Server A

为了提供更好的用户体验,您还可以在服务器 A 上创建一个 GET 端点来检索最新接收的 JSON,这样当用户第一次加载前端时它会调用该端点,即使 Raspberry 尚未更新数据至少用户可以了解最新的可用数据。

【讨论】:

    猜你喜欢
    • 2016-10-18
    • 2015-08-01
    • 1970-01-01
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    相关资源
    最近更新 更多