S3 버킷에서 carrierwave-aws를 사용하도록 구성된 carrierwave 업 로더가있는 레일 앱이 있습니다. 이 버킷에 대한레일 S3 - CloudFront 401 오류 트리거 기본 인증 팝업
권한은 나쁜했지만, 다행스럽게도 필자는 업로드가 잘 작동하는 것 지금을 고정 (난, 공용 읽기가 선택되어 하나의 파일의 사용 권한을 확인)
레일즈 응용 프로그램은 CloudFront를 사용하고 , "정상적인"자산 (css, js 등) 및 carrierwave-aws를 처리하도록 구성되었습니다. 이것은 HTTP 기본 인증 popu가 위의 오류가 HTTP 기본 인증 창을 트리거
"NetworkError: 401 Unauthorized - https://xxxxxxx.cloudfront.net/uploads/user/avatar/xxxxxx/thumb_avatar.jpg "
내 배포 암호를 묻는 화면에 나타납니다 발생하면
그러나 나는 아직도, 더 401 오류를 받고,하고 있어요 xxx.cloudfront.net에 대한 user/pw를 묻는 메시지
이것이 링크되어 있다면, 실제로 Rails 웹 사이트 자체에서 이런 종류의 인증을 얻은 것으로 나타났습니다.
CloudFront에서 필자는 레일즈 서버 (및 CSS/js는 정상이므로이 기능은 정상적으로 작동 함)와 S3 버킷 (실제로이 기능을 테스트 할 수있는 방법을 모르는 상태)을 구성했습니다.
그래서
- 가 어떻게 내 레일을 확인하실 수 있습니다 -> Carrierwave-AWS -> CloudFront를 파이프 라인하여 잘 작동? 업로드가 잘되었으므로 업로드 후 브라우저에서 읽을 수 없습니다.
- 401 오류가 발생하는 경우 웹 사이트에서 HTTP 기본 인증을 어떻게 비활성화 할 수 있습니까?
편집 : 설정 기본 인증 레일에서와 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
흠, 이건 내 레일 ApplicationController에서 이루어집니다. 그러나 팝업은 클라우드 프론트 URL http 기본 인증을 요청하고, 내 applicationcontroller의 사용자/PW 자격 증명을 입력하더라도 작동하지 않습니다. –
기본 인증으로 인해 클라우드 프론트는 상위 서버의 파일을 캐시 할 수 없습니까? 인증을 사용 불가능으로 설정 한 다음, 여전히 발생하는지 확인하십시오. – error2007s