在不同的网卡上提供部分 URL 服务

在不同的网卡上提供部分 URL 服务

我有一个在 Apache 2.4 Ubuntu 18.04 Web 服务器上运行的 Django 2.2 Web 应用程序,它有两个网络接口。一个网络接口用于互联网访问(eth0),另一个用于本地网络(eth1)。

我需要找到一种方法来限制从每个网络接口访问某些页面,同时仍然可以从两个接口访问某些页面。

在项目 urls.py 中我有一些如下的 URL:

url(r'^eth0/', include('eth0.urls')), #accessible to only eth0
url(r'^eth0eth1/', include('eth0eth1.urls')), #accessible by both network interfaces
url(r'^eth1/', include('eth1.urls')), #accessible to only eth1

如何通过 Apache 或 Django 配置实现这一点?

答案1

我通过以下 Apache 配置解决了该问题。

<Location /eth0/>
   Require ip eth0_subnet_ip
</Location>
<Location /eth0eth1/>
   Require ip eth0_subnet_ip
   Require ip eth1_subnet_ip
</Location>
<Location /eth1/>
   Require ip eth1_subnet_ip
</Location>

将这些指令添加到虚拟主机配置中解决了我的问题。

相关内容