2011-12-01 62 views
4

一个网站是否有办法密码保护它在gunicorn承载的应用程序,如何密码保护托管在gunicorn

我与阿帕奇的.htaccess这样做,但我们可以做到这一点的gurnicorn?

+2

你应该使用代理(如nginx)将请求传递到gunicorn。在这种情况下,您可以通过nginx进行身份验证。看到这里http://senko.net/en/django-nginx-gunicorn/ –

+0

@pastylegs感谢您的建议,现在还没有配置nginx,会试试看。谢谢 –

+0

@ TimmyO'Mahony的评论应该是被接受的答案。 –

回答

1

您标记,它有内置到它的一些有用的东西......

你应该能够特定视图功能可按之前的权利做了@login_required

这将迫使目前的“匿名”用户登录屏幕,如果他们还没有登录。

+0

对不起,如果我的描述不清楚,在这里我甚至不想显示我的网站,除非你有正确的登录名和密码。 –

+1

我不明白我的解决方案不会为您提供您正在寻找的内容(假设您使用Django进行标记)。如果您在所有视图中都包含“@ login_required”,则不会让该人看到您的网站......它会将其引导至登录屏幕。由于每个视图都需要登录,如果他们没有给出正确的,他们将不被允许查看网站......实际上,apache的.htaccess限制登录弹出窗口和网页验证方案没有区别(除了更多'管理'使用htaccess方案) – g19fanatic

+0

是的,是有区别的。使用HTTP身份验证会在用户请求传递到应用程序服务器之前停止用户,这意味着他们可以做的很少。通过Gunicorn实现的任何事情都意味着用户处于应用程序级别并可以访问其所有潜在漏洞。此外,我想像OP希望能够在应用程序上工作,同时仍然具有保护层以阻止人们窥探。这将是非常恼人的,必须添加登录装饰器的视图,这将不需要一旦应用程序生活 –

1

您还可以使用中间件和例如杀死每一个会议,并显示什么,如果它没有通过的要求。例如,您可以定义检查请求是否来自您使用的IP的中间件,如果是 - 如果不停止,则什么也不做。也许不是最好的,但解决方案:)

+0

我认为这是一个很好的基于视图的登录和专用代理/服务器之间的中间地带HTTP验证 –