在Apache中只允许IPv6地址

ht4b089n  于 2023-03-24  发布在  Apache
关注(0)|答案(2)|浏览(318)

在Apache中,我如何只允许IPv6地址访问我的站点?
这是行不通的:

order deny,allow
deny from all
allow from ::/0

显示“指定的网络掩码无效”。
参考:

guz6ccqo

guz6ccqo1#

order deny,allow
deny from all
allow from 2000::/3
ohtdti5x

ohtdti5x2#

编辑/etc/apache2/ports.conf(或者在您的特定配置中Apache Listen指令的任何位置)并更改:

Listen 80
...
Listen 443

致:

Listen [my-external-IPv6-address]:80
Listen [my-internal-IPv6-address]:80
Listen [any-other-IPv6-address]:80
Listen [::1]:80
...
Listen [my-external-IPv6-address]:443
Listen [my-internal-IPv6-address]:443
Listen [any-other-IPv6-address]:443
Listen [::1]:443

当然,你只需要使用尽可能多的行,因为你有实际的IPv6地址分配给你的服务器。你通常不需要指定那些IPv6链路本地地址,以fe80开始。你可以省略::1上的Listen指令,如果你不需要通过IPv6环回接口访问你的服务器的能力。
此解决方案的优点:端口80(HTTP)和443(HTTPS)在IPv4网络上完全不可见。所有这些讨厌的端口扫描器都不会再找到你的Apache,因为它们的连接尝试会立即被操作系统拒绝。
缺点:如果您的IPv6地址发生更改,则必须更新Apache配置。

相关问题