Я пытаюсь работать с обновлениями facebook в режиме реального времени, но мне не удается дать facebook адрес обратного вызова, который они могут использовать. Моя машина разработчика находится за брандмауэром, поэтому я хочу использовать экземпляр ec2 для пересылки трафика на машину разработчика.
Прогресс на данный момент:
Приложение запущено и работает на локальном хосте:
http://0.0.0.0:5000
Создан экземпляр Ubuntu 10.11 на ec2
Авторизовать порты на экземпляре ec2
localhost$ec2-authorize default -p 5000
localhost$ec2-authorize default -p 22
Настроить sshd на ec2
localhost$ssh -i ubuntu@ec2_public_dns -i ~/.ssh/ec2_key_pair.pem
ec2$sudo echo "AllowTcpForwarding yes" >> /etc/ssh/sshd_config
ec2$sudo echo "GatewayPorts yes" >> /etc/ssh/sshd_config
ec2$sudo /ect/init.d/ssh restart
Запустить туннель ssh
localhost$ssh -R0.0.0.0:5000:localhost:5000 ubuntu@ec2_public_dns -i ~/.ssh/ec2_key_pair.pem
Протестируйте в браузере
http://ec2_public_dns:5000
Но ничего не происходит :( Запрос просто истекает. Есть идеи, что я делаю не так?
Спасибо!
ПРОГРЕСС
Хорошо, у меня есть некоторые успехи в обращении к веб-серверу на моем локальном компьютере. После ssh я могу получить домашнюю страницу из приглашения с помощью curl:
localhost$ssh -R0.0.0.0:5000:localhost:5000 ubuntu@ec2_public_dns -i ~/.ssh/ec2_key_pair.pem
ec2$curl localhost:5000
<!DOCTYPE html>
<html>
...
</html>
Он даже работает с ec2_public_dns
из ec2:
ec2$curl ec2-23-20-132-36.compute-1.amazonaws.com:5000
<!DOCTYPE html>
<html>
...
</html>
но он не может подключиться с моей локальной машины разработки:
localhost$curl ec2-23-20-132-36.compute-1.amazonaws.com:5000
curl: (7) couldn't connect to host
@spinlock: вы так и не вернулись, чтобы потребовать ответ, но правила доступа все равно показались мне первой возможностью. Я определенно рекомендую всем, кто использует EC2, сначала потратить немного времени на работу с группами безопасности, это мощно и действительно полезно. Для тех, кто ищет в Google, ответ спин-блокировки:
Хорошо, я понял, где я ошибся. Создавая экземпляр ec2, я выбрал «быстрый запуск», потому что решил, что мне нужен простой unix, на котором запущен sshd. Проблема в том, что при этом создается отдельная группа безопасности с именем «quicklaunch-1».
Так сделай это:
localhost$ ec2-authorize quicklaunch-1 -p 5000