主机访问不到虚拟机(centos7)web服务的解决办法

文章描述了在主机可以访问外网但无法访问虚拟机CentOS7上的Web服务时的解决方法,包括配置虚拟机防火墙以开启80端口和HTTP服务,以及使用SELinux允许httpd服务访问文件。同时,通过将虚拟机网络设置从NAT模式改为桥接模式,使得物理机能够成功访问虚拟机的Web服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、背景

二、解决办法

2.1、配置虚拟机防火墙

2.2、修改虚拟机网络编辑器


一、背景

主机可以访问外网,虚拟机使用命令:curl http://网址,可以访问到web服务  ,主机使用http://网址,访问不到虚拟机(centos7)web服务。

二、解决办法

2.1、配置虚拟机防火墙

1)开启端口

命令:firewall-cmd --add-port=80/tcp --permanent

使配置命令生效:firewall-cmd --reload

查看端口是否成功开启:firewall-cmd --list--ports

2)开启服务

命令:firewall-cmd --add-service=http --permanent

使配置命令生效:firewall-cmd --reload

查看服务是否成功开启:firewall-cmd --list--service

3)配置SEL

semanage fcontext -a -t httpd_sys_content_t 存放.html文件的上级目录路径

例子1:semanage fcontext -a -t httpd_sys_content_t  /home/web_data/*

例子1表示:让/home/web_data/路径下的所有文件都能被httpd服务程序访问到

使配置立即生效命令:restorecon -Rv 路径(这里的路径应该和semanage 命令的路径一致)

例子2:restorecon -Rv /home/web_data/

可能出现的问题:semanage 命令不存在

下载semanage ,命令:yum -y install policycoreutils-python.x86_64

2.2、修改虚拟机网络编辑器

1)将NAT模式改为桥接模式,并桥接到物理机此时连接的网络中

如下图1、2:

 图1

 图2

注意点:

1)虚拟机的防火墙不需要关闭,配置好就可以。

结果:

1)此时已经可以在物理机访问虚拟机的Web服务。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值