2015-02-09 2 views
0

Я очень новичок в AWS. успешно запустил экземпляр EC2 windows 2012 r2, и я могу войти в систему через службу удаленного рабочего стола. установил приложение nodejs и успешно работает на localhost: 80. но проблема связана с публичным ip. Я пробовал много решений, размещенных вокруг, таких как добавление правил безопасности и т. д. Я даже прекратил использование экземпляра и перезапустил новый экземпляр, но бесполезен.aws ec2 public ip не работает

сервер Подробности: AWS EC2: Windows 2012 R2

когда-либо я пытаюсь получить доступ через Public DNS, он говорит: "Веб-страница не доступна:". мой публичный IP является http://ec2-54-169-173-68.ap-southeast-1.compute.amazonaws.com/

Вот результаты пинг:

C:\Users\srujan>ping ec2-54-169-173-68.ap-southeast-1.compute.amazonaws.com 

Pinging ec2-54-169-173-68.ap-southeast-1.compute.amazonaws.com [54.169.173.68] with 32 bytes of data: 
Reply from 54.169.173.68: bytes=32 time=51ms TTL=118 
Reply from 54.169.173.68: bytes=32 time=51ms TTL=118 
Reply from 54.169.173.68: bytes=32 time=49ms TTL=118 
Reply from 54.169.173.68: bytes=32 time=43ms TTL=118 

Ping statistics for 54.169.173.68: 
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: 
Minimum = 43ms, Maximum = 51ms, Average = 48ms 

Что показывают результаты пинг? Правильно ли работает ip ip?

Пожалуйста, дайте мне знать о решении. Я пытался много часов и оставался беспомощным. Дайте мне знать, если для решения проблемы требуется более подробная информация.

Заранее спасибо.

EDIT:

Скрипач Результат в браузере:

[Fiddler] The connection to 'ec2-54-169-173-68.ap-southeast-1.compute.amazonaws.com' failed. 
Error: TimedOut (0x274c). 
System.Net.Sockets.SocketException A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 54.169.173.68:80 

Скрипач Результат в окне Скрипач:

Request Count: 1 
Bytes Sent:  413  (headers:413; body:0) 
Bytes Received: 719  (headers:207; body:512) 

ACTUAL PERFORMANCE 
-------------- 
ClientConnected: 09:38:03.718 
ClientBeginRequest: 09:38:03.735 
GotRequestHeaders: 09:38:03.735 
ClientDoneRequest: 09:38:03.735 
Determine Gateway: 0ms 
DNS Lookup:   0ms 
TCP/IP Connect: 21007ms 
HTTPS Handshake: 0ms 
ServerConnected: 09:38:24.745 
FiddlerBeginRequest: 00:00:00.000 
ServerGotRequest: 00:00:00.000 
ServerBeginResponse: 00:00:00.000 
GotResponseHeaders: 00:00:00.000 
ServerDoneResponse: 00:00:00.000 
ClientBeginResponse: 09:38:24.745 
ClientDoneResponse: 09:38:24.745 

Overall Elapsed: 0:00:21.009 

RESPONSE BYTES (by Content-Type) 
-------------- 
text/html: 512 
~headers~: 207 


ESTIMATED WORLDWIDE PERFORMANCE 
-------------- 
The following are VERY rough estimates of download times when hitting servers based in Seattle. 

US West Coast (Modem - 6KB/sec) 
    RTT:  0.10s 
    Elapsed: 0.10s 

Japan/Northern Europe (Modem) 
    RTT:  0.15s 
    Elapsed: 0.15s 

China (Modem) 
    RTT:  0.45s 
    Elapsed: 0.45s 

US West Coast (DSL - 30KB/sec) 
    RTT:  0.10s 
    Elapsed: 0.10s 

Japan/Northern Europe (DSL) 
    RTT:  0.15s 
    Elapsed: 0.15s 

China (DSL) 
    RTT:  0.45s 
    Elapsed: 0.45s 


________________ 
Learn more about HTTP performance at http://fiddler2.com/r/?HTTPPERF 
+0

Пинг указывает, что публичный ip прекрасен. Используйте инструмент, как [Fiddler] (http: //www.telerik.com/fiddler), чтобы зарегистрировать, что [код ошибки HTTP] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html), и отправить его здесь с подробностями. – GVashist

+0

@GVashist: Привет, я опубликовал результаты, пожалуйста, дайте мне знать, что такое ошибка. Если посмотреть на результаты, я думаю, что есть проблема с портом 80. Правильно ли я? если это из-за порта 80, каким будет решение. –

ответ

2

Обнаружена проблема. его не с номером порта или брандмауэром. проблема связана с программой node.js.

Ошибка:

var http = require('http'); 
http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(80, '127.0.0.1'); 
console.log('Server running at http://127.0.0.1:80/'); 

Я изменил его:

var http = require('http'); 
http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(80); 
console.log('Server running at 80'); 

Я просто удалить адрес локальный IP. его рабочий штраф.

Однако, спасибо за ваш быстрый ответ и поддержку.

+0

У меня была такая же проблема ... почему ?? – IMHO

0

ping только говорит Вам, что экземпляр принимающую и ответ на icmp пакеты. Его полезно определить, есть ли проблемы с маршрутом, но не помогает вам идентифицировать все проблемы.

Ваша задача сводится к одному из двух возможных вариантов:

  1. Брандмауэр блокирует подключение к порту 80. Это может включать в себя как группу безопасности и окно внутреннего брандмауэр.
  2. Ваш веб-сервер не связан с сетевым интерфейсом. Веб-серверы могут быть настроены для привязки к одному IP-адресу, предоставляемому интерфейсом, или прослушивать все из них. Вы также можете привязать сайт к loopback, который делает его доступным только для себя.
Смежные вопросы