2017-02-26 2 views
0

Ich verwende den Softlayer-Objektspeicher und den Zugriff auf meine Objekte im S3-Bucket mithilfe der SDK-API aus meiner Node.js-Anwendung, die auf IBM Bluemix bereitgestellt wird. Ich bin in der Lage, die Objekte in den Eimer legen, aber beim Zugriff auf das Objekt SDK-API Ich erhalte die CORS Fehler wie folgt:So aktivieren Sie CORS im Softlayer-Objektspeicher

XMLHttpRequest cannot load https://s3-api.us-geo.objectstorage.softlayer.net/<my bucket-name>/<my object-name>. No. 'Access Control-......Allow-Origin' header is present on the requested source. Origin 'http://localhost:6009' is therefore not allowed.

In AWS S3 können wir die Eigenschaften auf der Bereichsebene konfigurieren und Wir können CORS explizit aktivieren, aber in Softlayer sehe ich keine solche Option.

Bitte beraten.

Antwort

0

Object Storage verwendet die Standard S3-API und es scheint, dass Sie Object Storage S3-API ausgewählt haben, sodass Sie CORS und andere Richtlinien auf Bucket-Ebene mit AWS SDK (php sdk in my case) aktivieren können.

Das ist, wie ich es tat:

$s3Client->putBucketCors([ 
    'Bucket' => 'your-object-storage-bucket-name', 
    'CORSConfiguration' => [ 
     'CORSRules' => [ 
      [ 
       'AllowedHeaders' => ['*'], 
       'AllowedMethods' => ['GET', 'POST', 'PUT', 'DELETE'], 
       'AllowedOrigins' => ['*'], 
      ] 
     ], 
    ], 
]); 

In Bezug auf IBM Softlayer: Ich meldete dieses Problem etwa 3 Monate her und ich für Codebeispiele gefragt, aber sie den Ball hielt weder mein Problem lösen noch eine konkrete Referenz zur Verfügung stellen, das ist ein Schade, weil der Betreiber empfahl, dieses Problem in stackoverflow zu posten und auf Antworten von IBM Entwicklern zu warten, da sie nicht mit ihnen kommunizieren können, also ist die Dokumentation schlecht und der Kundendienst ist enttäuschend.

Ich hoffe diese Info hilft Ihnen.

Verwandte Themen