Django:使用 htaccess 来保护 django 应用程序



我有一个与生产服务器源代码相同的暂存服务器。我想让公众远离登台服务器,所以我想使用 htaccess 将用户限制在登台服务器之外(并将机器人和陌生人留在外面)。

不知何故,它对我不起作用。

我创建了密码文件

sudo htpasswd -cs /var/.passwd staging

我把 .htaccess 文件放在

/var/www/djangoapp/

.htaccess:

AuthUserFile /var/.passwd
AuthType Basic
AuthName "Just testing"
Require valid-user

我确保:

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Apache 重启:

sudo service apache2 restart

Django 应用程序仍然可供所有人使用。我做错了什么?

我在没有 htaccess 的情况下找到了上述目标的替代解决方案。我想分享:

在相应虚拟主机部分的 000-default-conf 中:

<Directory /var/www/djangoapp/djangoapp>
        AuthUserFile /var/.htpasswd
        AuthName "Just testing"
        AuthType Basic
        Require valid-user
        <Files wsgi.py>
            Require valid-user
        </Files>
        WSGIApplicationGroup %{GLOBAL}
</Directory>

当然,仅当您有权访问服务器上的此配置文件时,此解决方案才有效。无论如何,它解决了我的问题。我无法弄清楚为什么我问题中的原始设置对我不起作用。

最新更新