我在本地网络服务器上设置了一个虚拟主机 ( sub.domain.com
),可以通过路由器中的端口转发从内部和外部访问该虚拟主机。我想添加一个sub.domain.com/only_local
无法从外部访问的附加目录。
使用(Debian 机器上的 Apache 版本 2.4.10)
<Directory /var/www/only_local>
AllowOverride None
Require host localhost
Require ip 127.0.0.1
Require ip 192.168.1
</Directory>
允许我限制外部访问。但是,在这种情况下,我只能使用本地地址连接到该页面192.168.1.10/only_local
。尝试打开sub.domain.com/only_local
(从本地网络!)会产生403 Forbidden
,这很不方便,因为域名比 IP 地址更吸引人,而且我的 TLS 证书仅对 有效sub.domain.com
。
据我了解这个帖子此限制是有意为之的,因为服务器收到的连接请求由于地址转换而似乎来自外部网络。
那么,为了获得可以使用域名加载的本地专有网页,我需要做什么呢?
答案1
DNS 中的 IP 地址是sub.domain.com
本地还是外部?当尝试通过子域访问该地址时,服务器认为您的 IP 地址是什么?
如果sub.domain.com
指向外部 IP 地址,您将不再从 192.168.1 访问它,而是从 ISP 分配给您的互联网 IP 地址访问,以便您可以访问互联网。尝试将该 IP 添加到配置中,看看它是否能更好地工作。
本地网络和外部网络是分开的,没有一些网桥或路由器,本地网络无法与外部网络通信。一旦通过网桥/路由器,您就不再处于内部网络,而是处于外部网络。
另一种选择是添加 DNS“A”记录,使其sub.domain.com
也指向您的本地 IP 地址。这可能需要一些额外的配置才能正常工作,但应该是可能的。