Estamos desenvolvendo um dispositivo embarcado que se integrará a alguns de nossos serviços no futuro. Este dispositivo tem um conjunto limitado de funcionalidades e mods definidos pelo usuário para casos de uso específicos. Baseado na arquitetura do braço, este dispositivo roda uma versão modificada do Debian. Para configuração de rede e configuração principal, preciso escrever um pequeno serviço da web. Isso deve ser seguro e leve. Eu testei isso com uma mistura de servidores web leves, como lighttpd e linguagens como python e manejados para que o protótipo funcionasse. que têm o serviço da web em funcionamento e esse serviço da web pode se integrar com clientes que enviam a configuração na etapa inicial. Minha preocupação é que, embora isso seja leve, eu não preciso implantar um servidor web completo em dispositivos que tenham alto nível de acesso ao dispositivo para configurá-lo. mesmo que eu desabilite este processo após a configuração
Existe alguma maneira de ter uma pequena API de descanso além de ter um servidor web completo? Eu já testei restbed C++ rest api. que é um serviço web complexo e baseado em python. mas também não quero implantar python. já que este serviço só transmite abaixo de 10 parâmetros para o cliente e é um exagero. existe alguma maneira segura de implementar isso sem o serviço semelhante ao daemon.
Embora esta pergunta seja um pouco vaga e aberta à opinião, vou jogar a minha lá fora. Golang Tem um pacote de servidor muito fácil de usar na biblioteca padrão. Parece muito com C, compila para executáveis nativos em quase qualquer plataforma e arquitetura e você pode hospedar um servidor web muito simples com poucas linhas, como abaixo.
Se você deseja segurança, pode configurar facilmente o TLS criando alguns certificados autoassinados e simplesmente substituindo o http.ListenAndServe por
err := http.ListenAndServeTLS(":10443", "cert.pem", "key.pem", nil)
É muito leve e fácil de correr em qualquer lugar. Como Eli apontou nos comentários, a compilação cruzada também é muito fácil de fazer, o que significa compilações e implantações rápidas em seus dispositivos incorporados.