阻止特定端口从外部访问应用程序,从而影响对本地主机脚本的访问

阻止特定端口从外部访问应用程序,从而影响对本地主机脚本的访问

我已经设置了一个在特定端口 6423 上运行的应用程序“phanthomjs”,我希望它应该可以被在框“localhost”上本地运行的脚本访问,而不是从外部访问。

phantomjs--webdriver=6324

我当前的脚本使用 TCP 并在同一个盒子上运行,我们使用服务器名称来localhost与应用程序建立连接。

在 Redhat Linux 系统中有没有什么方法可以阻止从外部访问这个端口?

答案1

如果您的应用程序仅在本地主机上侦听,则无法从外部联系它。如果您可以配置“绑定”地址,则输入 127.0.0.1。要检查它是否有效,请输入lsof -i -n -P :6423(或 6324 . . .)。在输出中,您应该看到一行以

TCP 127.0.0.1:6423 (LISTEN)

如果你看到

TCP *:6423 (LISTEN)

那么您的应用程序正在监听任意端口,因此可以通过互联网进行联系。

如果您不能让您的应用程序仅在 127.0.0.1 上监听,那么您将需要使用 iptables。

答案2

绑定到时不需要阻止对端口的访问localhost:只有本地进程可以访问它,其他主机无权访问它。

要验证价格localhost是否仅绑定到外部网络接口而不绑定到外部网络接口,请运行以下命令:

netstat -ntl | grep 6423

如果在输出中看到类似的内容127.0.0.1:6423,那么您可以确定该服务无法从其他主机访问,只能由本地进程访问。

另一方面,如果您看到类似的内容*:6423或网络上可访问的 IP 地址,则该服务是可访问的,您需要调整配置以进行绑定localhost

相关内容