如何实现HTTP中继/隧道来访问web应用程序?

如何实现HTTP中继/隧道来访问web应用程序?,http,https,reverse-proxy,azure-servicebusrelay,http-tunneling,Http,Https,Reverse Proxy,Azure Servicebusrelay,Http Tunneling,我们在客户的计算机(NAT后面)上运行web应用程序(由IIS托管的ASP.Net核心) 手机或任何其他连接到互联网的设备都应该可以访问Web应用程序 限制: 没有公共ip地址 我们不想为客户配置动态DNS,因为我们不提供用于internet访问的硬件和软件 我们希望类似http中继服务器的东西将客户端请求转发到相应的web应用程序,反之亦然 e、 g www.example.org/c1进入客户1电脑上的web应用程序 www.example.org/c2进入客户2电脑上的web应用程序

我们在客户的计算机(NAT后面)上运行web应用程序(由IIS托管的ASP.Net核心)

手机或任何其他连接到互联网的设备都应该可以访问Web应用程序

限制:

  • 没有公共ip地址
  • 我们不想为客户配置动态DNS,因为我们不提供用于internet访问的硬件和软件
我们希望类似http中继服务器的东西将客户端请求转发到相应的web应用程序,反之亦然

e、 g

  • www.example.org/c1进入客户1电脑上的web应用程序
  • www.example.org/c2进入客户2电脑上的web应用程序
甚至更好

  • c1.example.org/转到客户1电脑上的web应用程序
  • c2.example.org/转到客户2电脑上的web应用程序
到目前为止,我的评估是:

Microsoft Azure混合连接:

  • 我仍在努力在web应用程序上执行登录-浏览器无法获得身份验证cookie,尽管其他cookie似乎工作正常
  • 价格标签相当高,我们很难向农民客户收费,他们总是要求为任何东西支付尽可能少的钱
带有ThinkTecture RelayServer()的RabbitMQ:

  • 我还不能让RelayServer插件工作。
    • 以下是我得到的错误跟踪:
  • RabbitMQ已经启动并运行,我已经成功地实现了几个教程
问题:

对于免费或不太昂贵的好的、易于设置的替代方案,我们将非常感谢您的建议


如果任何人有使用ThinkTekture RelayServer的经验,欢迎分享您的想法。

有一种方法可以通过使用它来实现这一点

但是这需要Azure上的VNET和您的内部部署网络之间有一个类似or的链接,这两者都有成本,尤其是在还没有成本的情况下

如果这是可以接受的,高级功能确实是实现这一点的一种方法。有一份报告涵盖了这一点。作为参考,让它运行的步骤如下

  • 创建高级功能应用程序
  • 虚拟网络连接功能应用程序(已经有S2S或快速路线设置)
  • 创建用于访问内部web应用程序的

  • 这些Web应用程序只是您想要使用的REST API还是成熟的应用程序?这是一个完整的应用程序。谢谢,我会考虑的。
        \RelayServer>Thinktecture.Relay.Server.exe start
        [12:27:59 WRN] No SharedSecret or OAuthCertificate is configured. Please configure one of them. Continuing with a random value which will make all tokens invalid on restart.
        [12:27:59 DBG] Using settings file. settings-file-name=C:\Users\schema\AppData\Local\Thinktecure\RelayServer\settings_443.config.json
        [12:27:59 DBG] Loaded setting from file. origin-id=ecf0e337-c111-450a-b802-384df2fbce76
        [12:27:59 INF] Configuration Result:
        [Success] Name TTRelayServer
        [Success] DisplayName Thinktecture RelayServer
        [Success] Description Thinktecture RelayServer Process
        [Success] ServiceName TTRelayServer
        [12:27:59 INF] Topshelf v4.1.0.172, .NET Framework v4.0.30319.42000
        [12:27:59 DBG] Starting TTRelayServer
        [12:28:10 ERR] The service failed to start.
        System.ServiceProcess.TimeoutException: Der Vorgang wurde nicht abgeschlossen, da der Timeout abgelaufen ist.
           bei System.ServiceProcess.ServiceController.WaitForStatus(ServiceControllerStatus desiredStatus, TimeSpan timeout)
           bei Topshelf.Runtime.Windows.WindowsHostEnvironment.StartService(String serviceName, TimeSpan startTimeOut)
           bei Topshelf.Hosts.StartHost.Run()