Apache:在代理之前进行身份验证

时间:2018-01-25 11:53:55

标签: apache authentication proxy virtualhost proxypass

我有一个运行应用程序的虚拟机。它支持密码保护。我连接到sub.domain.com:6000(将端口6000重定向到VM的80)

所以我喜欢使用apache作为代理进行身份验证。

我的VirtualHost配置:

<VirtualHost *:*>
DocumentRoot /var/www/html/

<Directory "/var/www">
    AuthType Basic
    AuthName "Restricted Content"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user
</Directory>

ProxyPass "/" "http://127.0.0.1:5000/"
ProxyPassReverse "/" "http://127.0.0.1:5000/"

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

它重定向我,但没有密码保护。 怎么了?

1 个答案:

答案 0 :(得分:0)

<Location>指令用于包含一组指令,这些指令仅应用于指定目录,该目录的子目录以及相应目录中的文件。 Proxied服务器不是那个,所以你必须使用<Location /> AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Require valid-user </Location> 指令,它通过URL限制所附指令的范围:

this.product.unitprice
  .toLocaleString()
  .substring(this.product.unitprice.toString().length-3)
  .indexOf(',')==-1)