用Python写了份xmlrpc远程调用的代码,将server和client都放在虚拟机上可以调用成功,但是把client放在其他电脑上远程调用时却显示“ConnectionRefusedError: [Errno 61] Connection refused”,也就是主机拒绝了连接(当然要记得改client访问的主机IP)。直接ping该主机ip是能ping通的,那就可能是主机开了防火墙。
在centOS 7下,终端使用命令:
systemctl status firewalld
可以查看防火墙的情况:
防火墙状态发现是开着的。使用命令:
systemctl stop firewalld
可以将防火墙关闭,此时再查询状态:
防火墙状态就可以看到防火墙已经关闭了。
在其他电脑重新运行client代码进行远程调用,成功!
如果需要打开防火墙的话,可以用命令:
systemctl start firewalld
此外,最好不要完全关闭防火墙,可以配置防火墙,允许你代码需要的端口被访问即可。
网友评论