我们有一个环境,其中有两个 EC2 实例,一个在 VPC 的公共(public)子网中,这是我们的 Web 服务器,另一个在 VPC 的私有(private)子网中,它是 pur 应用程序服务器。私有(private)子网中的 EC2 实例正在运行 tomcat。我们如何从浏览器访问 tomcat 管理器控制台?
我们的安全组如下:
对于具有公共(public) IP 的 Web 服务器,我们允许来自 0.0.0.0/0(来自任何地方)的端口 22、80 和 8080。这些是入站规则。 出站规则是允许端口 22 进入私有(private)子网的安全组。这将允许从 Web 服务器通过 ssh 连接到应用程序服务器。
私有(private)子网的入站允许来自公共(public)子网的 22,以及 80 和 8080。
NAT 网关允许到 Internet 的出站流量。可以从应用程序服务器访问 Internet。
我现在如何:
使用浏览器访问 tomcat 管理器控制台? (Tomcat 已在应用程序服务器上配置。我们创建了一个旧实例的镜像并启动了这个实例)
如果我们需要将任何 war 文件部署到应用程序服务器,我们该怎么做?
谢谢你..
最佳答案
当前设计的解决方案:
该计划不安全,因为您需要将网络服务器上的端口 22 暴露给互联网,但可以解决您的问题。您可以在入站角色中限制源 IP。
在目前的设计中,没有堡垒(jumphost),所以你必须使用网络服务器(具有弹性IP)作为堡垒跳转到应用程序(tomcat)服务器。
您需要在浏览器中设置 ssh socket 代理才能访问 tomcat 管理控制台,在 google 中搜索 key world ssh socket proxy
您会得到很多文档来教您如何做到这一点。
两种改进方式:
方法#1,安装vpn。
使用 EIP 在公共(public)子网中创建一个新的 ec2 实例并在其上安装 VPN。例如,openvpn。设置仅允许从该跳转主机登录到其他 ec2 实例的安全组
登录openvpn后,浏览器应该可以直接访问tomcat manager console。
方式#2,使用ssh套接字代理
在公共(public)子网中使用 EIP 创建一个 ec2 实例,微型类型在当前设计中应该足够好。
使用新的 Bastion 实例,您应该可以在浏览器中设置 ssh 套接字代理
以访问 tomcat 管理器控制台。
另一个与浏览器问题无关的改进
在您的 VPC 中添加 ELB,然后您可以将 Web 服务器移动到私有(private)子网。
关于tomcat - VPC私有(private)子网EC2实例访问tomcat manager控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34894310/