2017-02-20 5 views
0

Ich habe einen Knoten-Server (Ubuntu auf EC2-Server), der die Daten aus der Datenbank bedient. Um HTML-Seiten zu bedienen, verwende ich S3-Bucket. Ich verwende die folgend in meinem Code -Ist dies der richtige Weg, um eine Webseite aus S3 Bucket zu bedienen?

https.get(
      'https://s3_Url_Of_Page', 
      function(proxyRes) { 
         proxyRes.pipe(res); 
      } 
); 

Ich bin immer noch nicht sicher, ob dies der Client bewirkt, dass die Seite direkt von S3 bekommen, oder zuerst der Seite meines EC2-Server heruntergeladen dann auf das gegeben ist Client, wenn ja, wie kann ich den Client veranlassen, die Seite direkt von S3 zu erhalten, wenn der Client meine Server-URL ohne diesen zwischenzeitlichen Download erreicht.

+0

Sie die Seite an den EC2-Server herunterzuladen (das ist, was 'http.get()' tut) und Streaming die Antwort an den Client (das ist, was 'proxyRes.pipe (res) 'do. –

Antwort

0

Durch die Antwort wird der Datenverkehr über Ihren EC2-Server geleitet. Sie sollten eine Umleitungsantwort an Ihren Client senden, wobei der Standort auf Ihren S3-Inhalt verweist. Dann holt der Browser den Inhalt direkt aus dem Bucket.

Sie müssen den öffentlichen Zugriff für den S3-Bucket aktivieren.

Beispiel:

var http = require('http'); 
var server = http.createServer(function(req, res) { 
    // http status 302 = temporary redirect; 301 = permanent redirect 
    res.writeHead(302, { 
     'Location': 'your/s3/bucket/path' 
    }); 
    response.end(); 
}); 
+0

wird die URL nicht ändern, weil. Könnten Sie Code bereitstellen, damit es funktioniert. –

+0

Ja, die URL im Browser würde dann die URL zu Ihrem S3-Bucket werden. Ich werde ein Beispiel in meiner Antwort geben. – Marc

+0

Aber Sir, ich habe meine Website URL als https://mywebsite.com und wenn Client auf dieser Website geht, muss ich die login.html Seite an den Client senden, aber die URL sollte https://mywebsite.com sein login.html Datei ist auf S3, so dass ich später Cloud her verwenden kann um das Laden schneller zu machen. –

Verwandte Themen