如何隐藏/保护 Angular 应用程序(相当于 htpasswd)

fri*_*nux 5 apache basic-authentication angularjs

我尝试使用 htpasswd 保护我的应用程序(测试环境)以防止好奇。这是我的架构:

[AngularJS] -> [Apache 代理] -> [服务]

目的是阻止没有密码的人。

我首先尝试在最高级别的 Apache 代理上添加 htpasswd:

    <Location "/">
            AuthUserFile            /etc/apache2/passwords
            AuthName                "Forbidden"
            AuthType                Basic
            require                 valid-user
    </Location>
Run Code Online (Sandbox Code Playgroud)

问题:每次发出请求时都会触发提示(不知道为什么)。

我尝试缩小范围后:

    <Location "/modules/user/">
            AuthUserFile            /etc/apache2/passwords
            AuthName                "Forbidden"
            AuthType                Basic
            require                 valid-user
    </Location>
Run Code Online (Sandbox Code Playgroud)

它之所以有效,是因为每次请求都会调用此路由。美好的。

但现在我创建了一条新路线:/modules/user/account。我遇到了第一个问题,但更糟糕的是:总是显示提示,但从未接受。Apache 在日志中说道:

[Mon Nov 23 11:51:55.510434 2015] [authz_core:debug] [pid 3043:tid 139650316363520] mod_authz_core.c(809): [client 164.177.43.41:55888] AH01626: authorization result of Require valid-user : denied (no authenticated user yet), referer: https://test.mysite.com/
Run Code Online (Sandbox Code Playgroud)

htpasswd 可能是保护我的应用程序的错误方法,我该怎么办?

谢谢