在Apache中,我如何只允许IPv6地址访问我的站点?这是行不通的:
order deny,allow deny from all allow from ::/0
显示“指定的网络掩码无效”。参考:
guz6ccqo1#
order deny,allow deny from all allow from 2000::/3
ohtdti5x2#
编辑/etc/apache2/ports.conf(或者在您的特定配置中Apache Listen指令的任何位置)并更改:
/etc/apache2/ports.conf
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配置。
fe80
::1
2条答案
按热度按时间guz6ccqo1#
ohtdti5x2#
编辑
/etc/apache2/ports.conf
(或者在您的特定配置中ApacheListen
指令的任何位置)并更改:致:
当然,你只需要使用尽可能多的行,因为你有实际的IPv6地址分配给你的服务器。你通常不需要指定那些IPv6链路本地地址,以
fe80
开始。你可以省略::1
上的Listen
指令,如果你不需要通过IPv6环回接口访问你的服务器的能力。此解决方案的优点:端口80(HTTP)和443(HTTPS)在IPv4网络上完全不可见。所有这些讨厌的端口扫描器都不会再找到你的Apache,因为它们的连接尝试会立即被操作系统拒绝。
缺点:如果您的IPv6地址发生更改,则必须更新Apache配置。