我有一個Rails應用程序,配有carrierwave上傳器,配置爲在S3存儲桶上使用carrierwave-aws。Rails S3 - CloudFront 401錯誤觸發器基本Auth彈出框
該桶的權限是壞的,但我希望我固定的他們,現在上傳似乎做工精細(我查了單個文件的權限,公共讀檢查)
Rails應用程序是使用CloudFront的,它已被配置爲處理「正常」資產(CSS,JS等)和carrierwave-aws。
但是我仍然得到401錯誤,更糟的是,當這一切發生在屏幕上顯示一個HTTP基本身份驗證珀普,要求輸入密碼我分配
"NetworkError: 401 Unauthorized - https://xxxxxxx.cloudfront.net/uploads/user/avatar/xxxxxx/thumb_avatar.jpg "
上述錯誤觸發一個HTTP基本身份驗證窗口請求xxx.cloudfront.net
如果這是鏈接的,事實證明我確實在我的Rails網站上有這種認證(在我們開始生產之前)。
在CloudFront上,我配置了兩個來源:我的Rails服務器(和css/js都可以,所以我猜這個是可以的)和S3 Bucket(不知道我怎麼能真正測試這個)
所以
- 如何查看我的Rails - > Carrierwave-AWS - > CloudFront的流水線工作正常? (上傳很好,上傳後我無法從瀏覽器讀取)
- 如何在網站出現401錯誤時從網站禁用HTTP基本身份驗證?
編輯:我設置基本認證中的Rails ApplicationController中
def authenticate
if ENV["HTTP_BASIC_AUTH"] == "true"
authenticate_or_request_with_http_basic do |username, password|
username == "wxx" && password == "xxx!" or
end
end
end
你在哪裏設置了Apache或其他東西的基本認證配置?因爲這是我猜想的雲端問題的根源。 – error2007s
嗯,是的,這是在我的Rails ApplicationController中完成的。但是,彈出窗口要求輸入一個cloudfront url http basic auth,即使我輸入了我的applicationcontroller的user/pw憑據,它也不起作用。 –
由於基本身份驗證,雲端無法從父服務器緩存文件?嘗試禁用身份驗證,然後看看它是否仍然發生。 – error2007s