docker部署,服务器本地访问正常,无法通过ip+端口访问

在CentOS7服务器上使用Docker部署应用时,若发现网站只能本地访问而不能通过IP地址访问,可能是因为net.ipv4.ip_forward参数未开启。通过修改/etc/sysctl.conf文件将该参数设为1,或者使用临时方法修改/proc/sys/net/ipv4/ip_forward,可以解决数据包转发问题。记得重启network服务使更改生效。
摘要由CSDN通过智能技术生成

问题

在服务器使用docker部署应用的时候,网站本地访问正常,但是无法使用IP地址访问,防火墙端口已经放行(本人服务器系统CentOS 7)

解决方法

经过一番查找,发现Linux系统中有一个net.ipv4.ip_forward参数,可以设置为0和1

出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将数据包发往本机另外一块网卡,该网卡根据路由表继续发送数据包。这一般是路由器所要实现的功能。

查看配置文件

cat /etc/sysctl.conf

发现该参数值为0

系统默认是关闭的,所以默认值是0

方法一

vi /etc/sysctl.conf

修改该参数值为1

net.ipv4.ip_forward = 1

保存退出,然后输入下面

sysctl -p /etc/sysctl.conf

或者重启network

systemctl restart network

方法二

这个方法是临时修改,服务器关机重启,或者重启network后就失效了

echo 1 > /proc/sys/net/ipv4/ip_forward

或者

sysctl -w net.ipv4.ip_forward=1

上面是两种解决方法

整理不易,如果对你有帮助记得点个赞!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值