首页 > 解决方案 > Amazon Cloudfront 和 .htaccess/.htpasswd

问题描述

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

我已经看到另一个主题Amazon Cloudfront 和 .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 进行密码保护,但我还需要在不禁用整个保护的情况下通过云端。

你有什么想法?

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

标签: .htaccessamazon-cloudfrontpassword-protection.htpasswd

解决方案


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

转到您的 Cloudfront 行为并添加 webauth 命中的下一个行为:Accept-Language Accept-Encoding Authorization

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


推荐阅读