我编写了一个Web应用程序,通常由客户在内部安装(基于IIS / MSSQL服务器)。
当客户想要提供对应用程序的外部访问时,我们提供以下支持的方案:
但是,由于我有越来越多的客户误解了发布内部应用程序的要求,我想添加“一键”提供该服务的方式。
我的想法是在客户的Web服务器上安装一个反向代理,它将连接到我们控制的云服务器。当应用程序启动时,它将连接到我们的服务器,验证并维护连接。当用户想要使用该应用程序时,她将使用将其定向到我们服务器的URL(例如https://myapp.mycompany.org/CustomerID或https://CustomerID.myapp.mycompany.org)。然后,服务器将查找来自反向代理的连接列表,以查找与客户ID匹配的连接,如果找到,则使用该连接来中继最终用户连接。
实质上,这与Azure应用程序代理或TeamViewer的功能相同,只是不需要使用Azure AD或TeamViewer。
我是否可以使用现有框架来构建此类服务?我知道我可以自己写,但这是一个很大的发展。