繁体   English   中英

如何让Django管理URL只能访问localhost?

[英]How do I make Django admin URLs accessible to localhost only?

使Django / admin / urls只能访问localhost的最简单方法是什么?

我想到的选项:

  • 将管理站点分离出项目(以某种方式)并作为不同的虚拟主机运行(在Apache2中)
  • 在托管(Apache2)Web服务器前使用代理
  • 以某种方式限制WSGI中的Apache中的URL。

有标准方法吗?

谢谢!

我想去apache配置:

<Location /admin>
    Order Deny, Allow
    Deny from all
    Allow from 127.0.0.1
</Location>

HTH。

我要去Apache配置+在WSGI中运行前面的代理+限制:

  1. 在涉及动态内容生成时,我不喜欢Apache与Web客户端进行通信。 由于它的执行模型,缓慢或断开连接的客户端可以占用Apache进程。 如果你前面有一个代理(我更喜欢nginx,但即使是一个vanilla apache也可以),代理会担心客户端,而Apache可以专注于一个新的动态内容请求。

  2. 根据您的Apache配置,进程还可以啜饮大量内存并保留它直到它达到MaxRequests。 如果你在/ admin(很多人都有)中有内存密集型代码,你最终可能会获得比他们需要的内存更多的Apache进程。 如果将Apache配置拆分为/ admin和/!admin,则可以调整apache设置以使更多的/!admin服务器需要更小的潜在占用空间。

  3. 我是偏执的服务器设置。

    • 我想确保代理只发送/ admin到某个Apache端口。
    • 我想确保Apache只在某个apache端口上接收/ admin,并且它来自代理(带有秘密头)或来自localhost。
    • 我想确保WSGI仅基于某些服务器/客户端条件运行/ admin东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM