2017-10-07 1 views
-1

Ich bin neu bei Amazon EC2, also bitte entschuldigen Sie, wenn ich eine dumme Frage stelle. Ich habe eine Instanz mit "Amazon Linux AMI" erstellt und NodeJS darin installiert.Amazon EC2-Instanz kann keine HTTP-Verbindung herstellen

Ich habe den folgenden IP-Tabelleneintrag für

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000 

und Ich habe diese Installation eine Hallo Welt Skript zu testen alle Anforderung von Port 80 bis 3000. weitergeleitet werden.

var http = require("http"); 

http.createServer(function (request, response) { 
    // Send the HTTP header 
    // HTTP Status: 200 : OK 
    // Content Type: text/plain 
    response.writeHead(200, {'Content-Type': 'text/plain'}); 

    // Send the response body as "Hello World" 
    response.end('Hello World\n'); 
}).listen(3000); 

// Console will print the message 
console.log('Server running at http://127.0.0.1:3000/'); 

Hier wird das Problem, wenn ich versuche, für Kommandozeile mein Beispiel ping, wird die Anfrage

Timeout
ping ec2-52-26-59-26.us-west-2.compute.amazonaws.com 

PING ec2-52-26-59-26.us-west-2.compute.amazonaws.com (52.26.59.26): 56 data bytes 
Request timeout for icmp_seq 0 
Request timeout for icmp_seq 1 
Request timeout for icmp_seq 2 

Wie ich dieses Problem beheben?

+1

Haben Sie die Sicherheitsgruppe überprüft, ob der Port 3000 geöffnet ist? – Ashan

+0

Ich habe bisher keine Sicherheitsregeln hinzugefügt, sollte ich das hinzufügen müssen? Kannst du mir bitte sagen, was ich da hinzufügen muss? – Unnikrishnan

+0

Standardmäßige Sicherheitsregeln schränken offene Ports stark ein. Siehe http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html – Carey

Antwort

2

Sie benötigen die EC2-Instanz Sicherheitsgruppe zu aktualisieren, damit:

protocol: TCP, port: 3000, source: My IP

Oder man könnte die Quelle überall ändern, wenn Sie es bis zu jedem im Internet öffnen möchten.

+0

es funktioniert gut und ich konfiguriert Cloudfront für HTTPS-Zugang. Es zeigt HTTPS, wenn ich mit der cloudfront-URL randomtext.cloudfront.net zugreife, aber wenn ich versuche, mit meinem Domain-Namen zu arbeiten, den ich in "Alternate Domain Names" angegeben habe, wird es nur in HTTP-Verbindung angezeigt. Wie kann ich HTTPS machen? – Unnikrishnan

+0

werfen Sie einen Blick auf diese: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-alternate-domain-names.html ... Ich würde Ihnen empfehlen, eine neue Frage zu starten, wenn Sie kann keine Antwort finden in diesem Link ODER vorherige StackOverflow Fragen :) – mostafazh

+0

Ich konnte es nicht funktionieren lassen? Ich möchte HTTPS in meinem Domain-Namen, was ich tun soll? – Unnikrishnan

Verwandte Themen