如何通过ip表只允许访问特定的URL

时间:2016-06-08 07:55:57

标签: linux networking network-programming ip iptables

在我的应用程序中,我必须限制对端口8383的外部访问。它应该仅从localhost接收连接。我通过以下方式成功实现了这一目标:

确保可以从localhost

访问端口8383

iptables -A INPUT -p tcp --dport 8383 -s 127.0.0.0/8 -j ACCEPT

确保禁用端口8383以进行外部访问

iptables -A INPUT -p tcp --dport 8383 -j REJECT

但是,必须对端口8383下运行的应用进行群集。它通过将POST请求发送到:8383 / default / cluster。

来集群

是否有任何方法可以禁用对8383的外部访问,但只允许包含" / default / cluster"的请求。请求uri?

1 个答案:

答案 0 :(得分:1)

IPTables无法从包装盒中进行操作。原因是 - IPTables在L3-4(网络和传输层)上工作,并且不会查看数据包有效负载。但是有几个扩展可以执行"深度数据包检查"。

要使其有效,您至少需要:

  • 正确配置的内核(Netfilter连接跟踪支持)
  • 深度包检测工具(例如ndpi)
  • 连接linux过滤和深度数据包检测功能的IPtables模块。