让 Django /admin/ url 只能被 localhost 访问的最简单方法是什么?
我想到的选项:
- 将管理站点从项目中分离出来(以某种方式)并作为不同的虚拟主机运行(在 Apache2 中)
- 在托管 (Apache2) Web 服务器前使用代理
- 以某种方式在 WSGI 中限制 Apache 中的 URL。
有标准方法吗?
谢谢!
让 Django /admin/ url 只能被 localhost 访问的最简单方法是什么?
我想到的选项:
有标准方法吗?
谢谢!
我去 apache 配置:
<Location /admin>
Order Deny, Allow
Deny from all
Allow from 127.0.0.1
</Location>
HTH。
我会选择 Apache 配置 + 在前面运行代理 + 在 WSGI 中限制:
当涉及动态内容生成时,我不喜欢 Apache 与 Web 客户端通信。由于它的执行模型,缓慢或断开连接的客户端可能会占用 Apache 进程。如果你前面有代理(我更喜欢 nginx,但即使是普通的 apache 也可以),代理会担心客户端,而 Apache 可以专注于新的动态内容请求。
根据您的 Apache 配置,进程还可以占用大量内存并保持它,直到它达到 MaxRequests。如果您在 /admin 中有内存密集型代码(很多人都这样做),那么您最终可能会得到 Apache 进程,这些进程占用的内存比他们需要的多得多。如果您将 Apache 配置拆分为 /admin 和 /!admin ,您可以调整 apache 设置以拥有更多 /!admin 服务器,从而需要更小的潜在足迹。
我是偏执的服务器设置。