我已经设置了一个在特定端口 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
。