0

Ich erhalte diesen Fehler, wenn ich versuche, auf s3 hochzuladen. Ich überprüfte, ob meine Zugangsdaten korrekt waren. Hier ist der Fehler, den ich bekomme.Alle Zugriffe auf dieses Objekt wurden deaktiviert, wenn carrierwave/fog in aws s3 verwendet wurde

`` `

Excon::Errors:`:Forbidden: Expected(200) <=> Actual(403 Forbidden) 
excon.error.response 
    :body   => "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AllAccessDisabled</Code><Message>All access to this object has been disabled</Message><RequestId></RequestId><HostId></HostId></Error>" 
    :cookies  => [ 
    ] 
    :headers  => { 
    "Connection"  => "close" 
    "Content-Type"  => "application/xml" 
    "Date"    => "Fri, 13 May 2016 22:14:48 GMT" 
    "Server"   => "AmazonS3" 
    "x-amz-id-2"  => "" 
    "x-amz-request-id" => "" 
    } 
    :host   => "s3.amazonaws.com" 
    :local_address => "10.0.0.24" 
    :local_port => 57133 
    :path   => "/uploads/script/file/1/Facebook-2006.jpg" 
    :port   => 443 
    :reason_phrase => "Forbidden" 
    :remote_ip  => "54.231.114.148" 
    :status  => 403 
    :status_line => "HTTP/1.1 403 Forbidden\r\n" 

` ``

Und das ist, wie ich carrierwave/Nebel config/initializer/carrierwave.rb CarrierWave.configure do |config| config.fog_credentials = { provider: "AWS", aws_access_key_id: ENV["AWS_ACCESS_KEY_ID"], aws_secret_access_key: ENV["AWS_SECRET_ACCESS_KEY"] } config.fog_directory = ENV["AWS_S3_BUCKET"] end

Antwort

6

Idiot bewegen. Ich habe den Namen des Bucket-Namens falsch gesetzt. Ich habe ENV ["AWS_S3_BUCKET"] anstelle von ENV ['S3_BUCKET_NAME'] geschrieben. Es wurde gesagt, dass Zugriff verweigert wurde, wahrscheinlich weil versucht wurde, auf einen Bucket zuzugreifen, der nicht existiert oder der Stamm von s3 ist.

+0

Super leichter Fehler zu machen, froh, dass Sie in der Lage waren, es zu sortieren. – geemus

+0

Ich habe einen ähnlichen Fehler gemacht, dass ich einen Eimer nannte, der nicht existierte ... – phoenix

+0

hahaha gute Sache, es gibt ein Problem für diesen Fehler. Ich habe den gleichen Fehler des falschen Bucket-Namens gemacht. Die Nachricht sollte jedoch informativer sein. –

0

Hat der Schaufel den Zugang der Öffentlichkeit hat konfiguriert Berechtigungen? und wenn es das tut, können Sie versuchen, die AWS-Region Ihres Buckets in der Konfiguration von Nebel festzulegen?

+0

Ich gab Berechtigungen für "Jeder" für jede Aktion, um es zu testen, aber es gibt immer noch den gleichen Fehler. Ich habe auch versucht, die Region für uns-East-1 zu setzen, da der Bucket unter US-Standard ist, ohne Glück. –

+0

Ahhh Ich bin ein Idiot. Ich habe den falschen Namen für meine Umgebungsvariable verwendet. Ich habe ENV ['S3_BUCKET_NAME'] anstatt ENV ['BUCKET_NAME_S3'] gesagt. Danke für die Hilfe! –