如何使用外部域连接到 LAN-Apache 但限制对本地网络的访问

如何使用外部域连接到 LAN-Apache 但限制对本地网络的访问

我在本地网络服务器上设置了一个虚拟主机 ( 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 地址。这可能需要一些额外的配置才能正常工作,但应该是可能的。

相关内容