主机无法访问虚拟机部署的应用

在虚拟机centos6.7中安装了weblogic,在其上面部署一个简单应用,部署完成后,虚拟机内部可以通过浏览器正常访问应用,但是主机通过浏览器死活访问不到,通过控制台可以ping到虚拟机的ip,猜想centos把端口拦截了。通过图形界面登陆虚拟机,打开防火墙(需要root账号),选择其他端口,新增需要被访问的端口7001,选择协议TCP,点击确定,应用。ok主机可以访问虚拟机部署的web应用了。


这是通过图形界面修改防火墙,以下是一些防火墙命令

查询防火墙状态:

[root@localhost ~]# service   iptables status<回车>

### 配置虚拟机以允许外部网络访问其上部署的Web应用程序 #### 设置端口转发 为了使外部网络能够访问位于虚拟机内的Web应用,需配置NAT环境下的端口转发。这意味着要设定规则让NAT设备将来自外界指定端口的数据包重定向给目标虚拟机的相关端口[^1]。 对于具体实施而言,在宿主机管理软件(如VMware Workstation, VirtualBox等)中找到对应选项来创建一条新的端口映射记录。此过程中,“源端口”指的是希望对外开放的服务端口号;而“目的IP地址”以及“目的端口”,则应指向运行着所需Web服务的那个虚拟实例及其监听的具体端口[^3]。 例如,在VirtualBox环境中执行上述操作: 1. 打开VirtualBox并选择对应的虚拟机; 2. 进入`设置 -> 网络 -> NAT -> 端口转发`; 3. 添加新条目:协议通常为TCP,主机IP留空表示接受任何请求,主机端口设为你想要公开出去的那个数值(比如8080),来宾(Guest) IP填写虚拟机的实际内网地址(可通过命令`ifconfig`获取),来宾端口则是Web服务器正在使用的那个(假设是80)。 ```bash # 获取虚拟机内部IP地址 $ ifconfig ``` #### 调整防火墙策略 考虑到安全因素,默认情况下很多操作系统都会启用防火墙阻止未授权连接尝试进入系统。因此还需要确保相关端口已被加入白名单以便正常通信[^4]。 在Linux平台上可以通过修改iptables规则集达到这一效果: ```bash sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT ``` 这条指令的作用就是告诉本地防火墙允许接收针对tcp/8080的所有传入流量。当然实际工作中更推荐采用更加精细的安全组策略而非简单粗暴地关闭整个防护机制。 另外值得注意的是某些云服务商也会自带一层额外的安全屏障——即所谓的“安全组”。当涉及到此类场景时同样不可忽视这部分配置工作。 #### 必要的路由调整 一般来讲只要按照前述方法完成了端口转发与防火墙开口这两步就已经足够满足大多数需求了。不过假如遇到特殊情况可能还需进一步优化路由表项,使得数据报文能顺利抵达目的地而不至于迷失方向。但这部分相对较为少见且复杂度较高,除非确实遇到了连通性障碍否则不必特别关注。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值