我正在做file_get_contents
但是Connection refused
我使用以下命令允许从服务器 2 到服务器 1 的传出连接,反之亦然。但我仍然得到failed to open stream: Connection refused
iptables -A OUTPUT -p tcp -d 123.123.123.123 --dport 8983 -j ACCEPT
iptables -A INPUT -p tcp -s 321.321.321.321 --dport 8983 -j ACCEPT
也许存在一些规则使得我无法file_get_contents
在两个不同的服务器/ip 之间使用?
我想现在我会使用curl
,但想知道这里什么不起作用......
答案1
您正在连接到目标上的端口 8983,因此您必须允许输出流量到该端口server 2
,即:
iptables -A OUTPUT -p tcp -d 123.123.123.123 --dport 8983 -j ACCEPT
server 2
通常,您还应该接受相关和已建立连接的传入流量:
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
另外,不要忘记添加相应的规则server 1
:
iptables -A INPUT -p tcp -m tcp --dport 8983 -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
如果设置此规则后您仍然无法连接,则您可能被server 1
和之间的中间防火墙阻止了server 2
。
如果不是这种情况,可能server 1
是在 NAT 后面,您必须设置 NAT 路由器以将传入连接转发到 8983 到server 1
该路由器后面的同一端口。