Web应用Nat穿越

2024-01-19

我们正在全国各地的客户端计算机上使用 Tomcat 部署 Java Web 应用程序。

一旦安装完毕,我们希望允许通过中央服务器远程访问这些 Web 应用程序,但我们不希望我们的客户端必须在其路由器上打开端口。

有没有办法通过隧道传输 http 流量,使中央服务器可以访问防火墙后面的 Web 应用程序?

中央服务器有一个静态IP地址,我们可以完全控制它。

我们不需要访问文件系统,我们只想通过浏览器访问 Web 应用程序本身。


对于 NAT,您通常需要做的是让 Web 应用程序向您的中央服务器发出请求 - 这会在 NAT 中打开一个“漏洞”。然后您的中央服务器可以接管此连接并访问 Web 应用程序。

这本质上成为一种持久连接(因为它们现在是按需“召唤”网络应用程序的方式,因此它们始终必须连接到您)。也就是说,网络应用程序内置了逻辑,定期显示“我连接到基地了吗?没有?然后打电话回家”。这将解决 NAT 问题,因为它是由客户端启动的。

该技术由以下人员使用Skype http://www.skype.com, Buildbot http://buildbot.net, 和别的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Web应用Nat穿越 的相关文章

随机推荐

  • 如何在Go中通过隧道路由http Get?

    我有一个到我的服务器的 ssh 隧道 通过端口 9998 我希望我的 http GET POST 请求通过 Go 中的此端口进行路由 在 java 中 我将指定 DsocksProxyHost 和 DsocksProxyPort 我正在 G
  • 使用 ASP.NET Web API 2.1 配置依赖项注入

    我正在创建一个 ASP NET Web API 2 1 站点 并且由于我想将依赖项直接注入到控制器中 因此我创建了自己的 IDependencyResolver 实现 以便 StructureMap 将为我处理该问题 public clas
  • 使用通配符进行模式匹配

    如何使用通配符识别字符串 我找到了glob2rx 但我不太明白如何使用它 我尝试使用以下代码来选择数据框中以单词开头的行blue make data frame a lt data frame x c red blue1 blue2 red
  • 在逗号分隔的项目进度列表上运行循环 4GL

    def var cList as char no undo assign cList one two three four
  • 多线程代码中是否需要有原子标志?

    我想知道在多线程代码中是否真的有必要使用原子标志 对于这个问题 我重点关注多线程代码中的一个常见情况 通过设置标志来停止线程 我们假设以下伪代码 is running 1 create threads stopper thread runn
  • boost 正则表达式子字符串匹配

    如果模式 regular 是变量 st 的子字符串 我想返回输出 match 这可能吗 int main string st some regular expressions are Regxyzr boost regex ex Rr eg
  • Java 8 流 - 如何将地图中的地图中的所有对象提取到新地图中?

    我有一张地图 siteId gt AppName gt App 我想迭代内部地图中的所有应用程序并创建一个新地图 appId gt App 我在没有流的情况下做到了 Map
  • ASP 会员奇怪问题

    我在 ASP NET 中使用 Membership API 并且在临时服务器上遇到了以下问题 该应用程序在我的本地计算机上运行良好 数据表存储在 SQL Server 上 我的本地服务器和临时服务器都指向同一个数据库服务器 当我部署到临时服
  • 使用 boto3 验证 S3 凭证,无需 GET 或 PUT

    有没有一种方法可以验证给定的一组 S3 凭据是否可以访问特定存储桶 而无需执行某种显式的 PUT 或 GET 实例化 s3 Client s3 Resource 或 s3 Bucket 对象似乎根本不验证凭据 更不用说存储桶访问了 博托3
  • Lua string.gsub() 按 '%s' 或 '\n' 模式

    英语不是我的母语 所以描述这个问题有点困难 我想通过 lua string gsub 在 str 中获取 d 40 但是有一些问题 代码如下 本地字符串 a 10 b 20 c 30 d 40 本地 pat1 s s 本地 pat2 n s
  • 从 html 按钮调用 vbscript 函数

    如果我所做的完全错误或者解决方案是显而易见的 请不要感到惊讶
  • 从 x86 汇编语言调用 C 函数

    是否可以使用 GCC 从 C 函数生成汇编语言函数 以便可以从汇编语言程序中调用它们 我知道 gcc 将 C 编译为机器代码 可以很容易地反汇编为汇编语言 并且我已经知道可以C 中的内联汇编语言函数 https stackoverflow
  • 解析来自 BaseHTTPServer 的 Python HTML POST 数据

    我正在将几个文件从 HTML 表单发送到基于 BaseHTTPServer 的服务器 在我的 do POST 中 我从 rfile read length 获取一个字符串 它看起来像某种多部分 MIME 字符串 谷歌并没有帮助我将其解码为可
  • 用于与父节点通信的react.js自定义事件

    我正在制作并监听普通 DOMCustomEvents 与父节点通信 儿童时期 var moveEvent new CustomEvent the graph group move detail nodes this props nodes
  • Keras inception v3 重新训练和微调错误

    我试图从这里开始这个例子 https keras io applications https keras io applications 工作了几个小时 我有点发疯了 因为它不起作用 如果有人知道我可以尝试什么 我将非常感激 这是我的示例代
  • 尝试使用 ServerManager 获取应用程序池时出现 COMException

    当我尝试使用以下代码从远程服务器获取 IIS 应用程序池列表时 List
  • 我应该在 graphql 模式文件中将每个对象作为“输入”和“类型”写入两次吗

    我必须在 GraphQL 中使用 Java 对象来响应和请求 我是否必须在 GraphQL 架构文件中将每个对象作为 输入 和 类型 写入两次 用于在请求和响应中获取该对象 我应该使用输入和类型定义同一个对象两次吗 file test gr
  • VS2010 - 文件新菜单缺少“新项目”

    一位同事刚刚从 MSDN 安装了 Visual Studio 2010 Premium 安装运行得很好 但是当他单击 文件 菜单时 他只有 新文件 在我的安装中 我看到一个 新建 菜单 其中包含一个子菜单 其中包含项目 文件 团队项目 关于
  • 在非模式对话框中阻止 ESC 和 Enter 键(Win32、非 MFC)

    有一些关于这个主题的文章 但没有一篇适合我的情况 我正在使用 Win32 无 MFC 编写以下内容 目标是防止ESC or ENTER键关闭非模式对话框 这是对话框模板 IDD DIALOG 1 DIALOGEX 0 0 345 179 S
  • Web应用Nat穿越

    我们正在全国各地的客户端计算机上使用 Tomcat 部署 Java Web 应用程序 一旦安装完毕 我们希望允许通过中央服务器远程访问这些 Web 应用程序 但我们不希望我们的客户端必须在其路由器上打开端口 有没有办法通过隧道传输 http