我们正在开发嵌入式设备,将来会与我们的某些服务集成。该设备针对特定用例具有有限的功能集和用户定义的模组。该设备基于 arm 架构,运行修改版的 Debian。对于网络和主要配置设置,我需要编写小型 Web 服务。这应该是安全和轻便的。我使用轻量级 Web 服务器(如 lighttpd)和语言(如 python)的组合对此进行了测试,并设法使原型正常工作。它具有正常运行的 Web 服务,并且该 Web 服务可以与在初始步骤中推送配置的客户端集成。我担心的是,即使这是轻量级的,我也不需要在对设备具有高级别访问权限的设备上部署全功能 Web 服务器来配置它。即使我在配置后禁用了这个过程
除了拥有成熟的 web 服务器之外,还有什么方法可以拥有小型 rest api 吗?我已经测试过 restbed C++ rest api。这是一种复杂且基于 python 的服务器较少的 Web 服务。但我也不想部署 python。因为这项服务只向客户端传输 10 个以下的参数,所以有点矫枉过正。没有守护进程之类的服务,有什么安全的方法可以实现这一点。
尽管这个问题有点含糊不清并且可以发表意见,但我会把我的问题扔在那里。Golang在标准库中有一个非常易于使用的服务器包。它看起来很像 C,几乎可以在任何平台和体系结构上编译为本机可执行文件,您可以使用很少的几行来托管一个非常简单的网络服务器,如下所示。
如果您想要安全性,您可以通过创建一些自签名证书并简单地将 http.ListenAndServe 替换为
err := http.ListenAndServeTLS(":10443", "cert.pem", "key.pem", nil)
它非常轻巧,易于在任何地方运行。正如 Eli 在评论中巧妙地指出的那样,交叉编译也很容易做到,这意味着可以快速构建和部署到您的嵌入式设备。