2011-12-01 110 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驗證 –