I'm exploring the feasibility of multiplexing http service from up to 100 IOT devices thru a single cloud host. The diagram below represents what's desired.
Situation:
- We have complete control over the configuration of the IOT devices and the cloud host.
- We don't have control of the customers' routers and firewalls, but can specify minimum requirements for port openings, etc.
- FWIW, the IOT devices are BeagleBone Black running Debian Buster and the cloud host will be, typically, a multi-core droplet (or similar) running Linux.
- The IOT's serve dynamic web pages over HTTP. (HTTPS doesn't seem feasible because of certificate requirements and overall load on the IOT cpu.) The cloud host will have HTTPS capability.
- This is a low-traffic situation. The IOT's report some overall status information (via rsync/ssh) at 4 minute intervals). Access to an IOT's web service will only occur when a user wants to investigate a problem report in more detail. Typically, only one or two users will have access to the cloud server.
Questions:
- Are ssh tunnels established from the IOT's to the cloud host suitable for requesting and receiving the web service?
- How to identify which tunnel belongs to which IOT?
- How to ensure the HTTP from the IOT's is served from the cloud host over HTTPS?