Google App Engineをlocalhost以外から使う方法

追記

コメントでappserver起動時の起動オプション指定であっさり解決できることを教えてもらいました。

./dev_appserver.py --port=8081 --address=192.168.0.21 helloworld/

よく考えれば起動オプションがない訳ないよな。。。良く調べましょう、自分。反省。

                                                          • -

Google APP EngineSDKをXAMPP的に使えたらとても便利なのに。。。と思ってたら、どうやら開発環境のテストサーバにはlocalhost以外から接続できないのね。とても残念。

Google App Engine SDKがあれば簡単にローカルサーバがたてられます!!」とかだったらPythonスキー、Webチームにとってはとてもラクチンな実行環境が手に入るのに。

例えば小規模のローカルサービスはSDKでサービス開始して、大規模 || 外部公開的に成長していったら本番のGoogle App Engineを利用するようにするとかいう選択肢があるとちょっとうれしいなぁ。Pythonプログラム配布しやすくなるし。

まあ、Google的にはサーバはなんぼでも増強するからローカルサービスでも本番環境使えや!!ゴルゥア!!ってとこなんだろうけど。。。



。。。とそれだけではアレなので外部端末からアクセスできる方法を探ってみた。Google使用許諾的にNGな気もするし、全くもって保証されない方法なので自己責任でどうぞ。

 # 使用許諾的に駄目そうならあっさり消すので詳しい人がいたら教えてください。

[GAE PATH]/google/appengine/tools/dev_appserver_main.pyの147行目
 ARG_ADDRESS: 'localhost', の箇所をSDK実行マシンのIPに変更すればOKっぽい

[GAE PATH]:Google App Engine SDKのインストールパス。Macだと/usr/local/google_appengine/


汎用的に書くとしたらimport socketして下みたいにすれば良いのかな?

ARG_ADDRESS: socket.gethostbyname(socket.gethostname())

あくまでも自己責任でどうぞー