2015-11-02 4 views
0

Я пытаюсь настроить простой веб-сервис, но когда я делаю HTTP-запрос на порт 8080 моего сервера, ничего не происходит ... Я обнаружил, что простой python сервер, который я установил, прослушивает порт 8080 первичного частного IP-адреса, а не общедоступный IP-порт.Natting AWS EC2 публичный IP и первичный частный ip

Как отправить HTTP-запросы на скрипт python? У меня есть NAT?

Я на убунту 14.04 сервере

Это простой питон веб-сервер

from BaseHTTPServer import BaseHTTPRequestHandler 
import urlparse 

class GetHandler(BaseHTTPRequestHandler): 

    def do_GET(self): 
     parsed_path = urlparse.urlparse(self.path) 
     self.wfile.write(parsed_path.query[2:]) 
     return 

if __name__ == '__main__': 
    from BaseHTTPServer import HTTPServer 
    server = HTTPServer(("0.0.0.0", 8080), GetHandler) 
    print 'Starting server, use <Ctrl-C> to stop' 
    server.serve_forever() 
+1

Вы настроили группы безопасности, чтобы разрешить определенным IP-адресам доступ к порту 8080? – lonelyloner

+0

Я добавил пользовательское TCP-правило TCP 8080 0.0.0.0/0, теперь браузер дал мне отказ в соединении, а не просто ждать – Aalto

ответ

0

Проблема в том, что я не установил правило для p ort 8080! Спасибо всем!

0

Изменить строку:

server = HTTPServer(("0.0.0.0", 8080), GetHandler) 

Чтобы использовать IP-адрес адаптера общедоступной сети вместо «0.0.0.0»

+0

извините, я неправильно понял ваш ответ! Я googled для «общедоступного IP-адаптера сети», но я не смог найти, какой IP-адрес, мне нужно посмотреть услугу Amazon или использовать некоторую команду на моем экземпляре через ssh? – Aalto

+0

Используйте команду ifconfig в экземпляре, чтобы перечислить сетевые адаптеры? или ip-команду - см. http://www.cyberciti.biz/faq/show-ethernet-adapter-ubuntu-linux/ – barny

 Смежные вопросы

  • Нет связанных вопросов^_^