tomcat - 如何将 war 文件部署到位于 NAT 后面的远程 Tomcat 服务器?

标签 tomcat curl jenkins nat

我们编写了一个脚本,实际上可以使用 curl 在远程 tomcat 服务器(本地网络内)上部署我们的应用程序,但挑战在于我们如何在远程 tomcat 服务器(本地网络外)上执行此操作,该服务器可能位于在 NAT 后面并且可能有动态 IP 的

我们的脚本片段

curl -u admin:12345 -T myApp.war http://192.10.10.184:8080/manager/text/deploy?path=/myApp

是否已经有解决方案?或者我们应该尝试其他方法来部署我们的应用程序

注意:

我们的目标是能够将我们的应用程序(war 文件)部署到多个 tomcat 服务器(笔记本电脑)上,这些服务器可能会跳转到不同的物理位置以进行测试。

此外,我们在云 (AWS) 中有一个 Jenkins 服务器,它将根据部署人员的请求执行脚本。

到目前为止我们看到了什么

  1. 端口转发,也许配置我们的部署人员想要连接到的每个路由器将是一项艰巨的任务,或者在某些情况下可能不允许
  2. ssh 反向隧道,可能会使我们的服务器处于危险之中,或者可能根本不相关
  3. VPN 富

最佳答案

我们找到了一个稍微收费的解决方案,通过 VPN,我们现在可以部署在位于 NAT 后面的 Tomcat 服务器上,只要它们连接到我们的 VPN 服务器。唯一的缺点是部署速度受到极大影响。

OpenVPN https://openvpn.net/

为了帮助您设置自己的 VPN 服务器,您可以引用此链接 https://community.openvpn.net/openvpn/wiki/Easy_Windows_Guide

此外,端口转发也能正常工作,但我们无法为每个 QA 在不同的端口上工作,因此我们现在坚持使用 VPN。

关于tomcat - 如何将 war 文件部署到位于 NAT 后面的远程 Tomcat 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33624662/

相关文章:

spring - .war 文件部署在 tomcat 服务器中,但出现错误 404,资源不可用

jsf - 从 JSF 1.0 迁移到 1.2 : class file for javax. servlet.jsp.tagext.JspIdConsumer 未找到

rest - 通过 API 将文件上传到 NextCloud 时出错

php - 使用 cURL PHP 与命令行 cURL 清除 Varnish 缓存

jenkins - 如何在 Jenkins 上构建和测试 ASP.NET Core 解决方案

apache - 在 Apache Tomcat 7 上启用 8443 时遇到问题

eclipse - 无法通过内部网络发送邮件,java.net.SocketException : Permission denied: connect

php - osx 10.10 Curl POST 到 HTTPS url 给出 SSLRead() 错误

jenkins - 如何使用 Jenkins Pipeline 属性步骤?

jenkins - 在整个管道中分多个阶段解开藏匿处