![使端口仅可从本地主机访问](https://linux22.com/image/636083/%E4%BD%BF%E7%AB%AF%E5%8F%A3%E4%BB%85%E5%8F%AF%E4%BB%8E%E6%9C%AC%E5%9C%B0%E4%B8%BB%E6%9C%BA%E8%AE%BF%E9%97%AE.png)
我正在使用可通过 访问的软件,http://server_ip:certain_port
我希望它仅可通过 内部访问http://localhost:port
。
我怎样才能从外部阻止这些端口?
答案1
答案2
防火墙。如果你使用的是 Ubuntu 或 Debian,ufw 是个不错的选择。将防火墙设置为默认允许端口,但作为规则拒绝特定端口。
答案3
根据我自己的 Web 服务器经验,最干净的解决方案是使用 Apache 指令通过.htaccess
指令文件或站点配置来限制访问。
优点 :
- 无需与 IPtables 或任何其他内核级防火墙规则斗争
- 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 地址,它们将被两个允许规则识别。
在哪里放置这些指令:
- 在顶层目录中的文件中
.htaccess
,包含您要保护的网站文件 - 如果你在 Apache 配置文件中配置了多个虚拟主机,请将这些指令放入与本网站相关的部分
评论 :
为了使.htaccess
文件能够被 Web 服务器加载,您必须在Web 站点定义中使用AllowOverride Limit
或来定义此 Web 站点。此外,是用于此目的的默认名称,可以由 Apache 指令覆盖AllowOverride all
.htaccess
AccessFileName <filename>