Я пытаюсь настроить сервер для разработки движка приложений. Я не могу понять, как получить доступ к получившемуся веб-серверу извне. Я использую образ Debian, Python GAE.
У меня есть следующее правило брандмауэра, которое должно пропускать весь HTTP-трафик. Я перезапустил сервер после его настройки, хотя не знаю, что это было необходимо.
Source Ranges:
0.0.0.0/0
Allowed Protocols or Ports:
tcp:1-65535
Когда я запускаю движок приложения, я не получаю ошибок:
admin@dev:~$ sudo google_appengine/dev_appserver.py --port 80 appfiles
WARNING 2014-08-21 18:19:18,080 api_server.py:383] Could not initialize images API; you are likely missing the Python "PIL" module.
INFO 2014-08-21 18:19:18,083 api_server.py:171] Starting API server at: http://localhost:45536
INFO 2014-08-21 18:19:18,086 dispatcher.py:183] Starting module "default" running at: http://localhost
INFO 2014-08-21 18:19:18,086 admin_server.py:117] Starting admin server at: http://localhost:8000
Я не могу получить доступ к серверу с помощью внешнего эфемерного IP-адреса - я просто получаю статус 500. я жестяная банка получить доступ к веб-сайту изнутри.
admin@dev:~$ curl http://localhost/register/ > test.htm
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 815 100 815 0 0 2285 0 --:--:-- --:--:-- --:--:-- 2295
admin@dev:~$ tail test.htm
Email: <input type='email' id='email' name='email' /><br />
Password: <input type='password' id='password' /><br />
<input id='submit' type="submit" value="Register" />
</form>
</section>
<footer><small>Website Footer</small></footer>
</body>
</html>
Я знаю, что внешний IP-адрес правильный, потому что я использую его для SSH. Есть идеи, что мне может не хватать?
Я установил Apache и могу без проблем перейти на страницу по умолчанию через порт 80. Так почему же GAE не работает с внешними запросами?
По умолчанию он прослушивает запросы на localhost
только. Вам нужно установить --host
параметр:
sudo google_appengine/dev_appserver.py --port 80 --host 0.0.0.0 appfiles