Amazon Cloudfront 和 .htaccess/.htpasswd

问题描述

我正在受 .htaccess/.htpasswd 保护的开发环境中测试 Amazon Cloudfront。 开发服务器上的密码保护导致所有 cloudfront.net 资产也受到密码保护。并且没有用户名/密码组合有效(poppin 只是一次又一次地要求输入密码)。 我无法解除密码保护

我看到另一个主题 Amazon Cloudfront and .htaccess 具有相同的请求。

当我将此代码添加到我的时,不显示密码保护

我的 .htaccess 文件

SetEnvIf User-Agent ^Amazon Cloudfront$ cdn 

ErrorDocument 401 default
AuthName "ACCESS"
AuthUserFile /var/www/html/folder/.htpasswd
AuthType Basic
AuthGroupFile None

<RequireAny>
     Require valid-user
     Require env cdn
</RequireAny>

<Files "healthcheckfile.html">
Allow from all 
Satisfy any
</Files>

总而言之,我需要使用 .htaccess 在网站上设置密码保护,但我还需要在不禁用整个保护的情况下通过 cloudfront。

你有什么想法吗?

PS:我做了新的测试(它可以在本地主机上使用 MAMP),我也删除了我的 CloudFront 的行为并测试了 Amit 的解决方案但没有任何变化,提示没有出现。

解决方法

好的,我找到了解决方案。

转到您的 Cloudfront 行为并添加 webauth 命中的下一个行为: 接受语言 接受编码 授权

解决方案感谢 https://medium.com/@omkar.sonawane/amazon-cloudfront-http-request-headers-authorization-header-22393c624da9