使端口仅可从本地主机访问

使端口仅可从本地主机访问

我正在使用可通过 访问的软件,http://server_ip:certain_port 我希望它仅可通过 内部访问http://localhost:port

我怎样才能从外部阻止这些端口?

答案1

您应该告诉 Apache 仅在 lo 接口上监听。

Listen 127.0.0.1:80

参考

答案2

防火墙。如果你使用的是 Ubuntu 或 Debian,ufw 是个不错的选择。将防火墙设置为默认允许端口,但作为规则拒绝特定端口。

答案3

根据我自己的 Web 服务器经验,最干净的解决方案是使用 Apache 指令通过.htaccess指令文件或站点配置来限制访问。

优点 :

  1. 无需与 IPtables 或任何其他内核级防火墙规则斗争
  2. Apache 仍在监听服务器的所有接口,因此,你可以在同一个 Apache 实例中访问其他网站,而无需执行此操作仅限本地主机访问局限性

您需要使用的指令是:

<Location />
  order Deny, Allow
  deny from all
  Allow from localhost
  Allow from 127.0.0.1
</Location>

这些指令将拒绝访问整个网站,只允许来自本地主机 (127.0.0.1) 的连接。您可以在 URI 中使用名称或 IP 地址,它们将被两个允许规则识别。

在哪里放置这些指令:

  1. 在顶层目录中的文件中.htaccess,包含您要保护的网站文件
  2. 如果你在 Apache 配置文件中配置了多个虚拟主机,请将这些指令放入与本网站相关的部分

评论 :

为了使.htaccess文件能够被 Web 服务器加载,您必须在Web 站点定义中使用AllowOverride Limit或来定义此 Web 站点。此外,是用于此目的的默认名称,可以由 Apache 指令覆盖AllowOverride all.htaccessAccessFileName <filename>

相关内容