2009年10月28日水曜日

appcfg.py プロキシ、最近

このタイトルでこのブログを見に来た方、残念でした。
前に同じタイトルで、GAEにファイルをアップロードするappcfg.pyをプロキシの中から使うようにする方法を書いたのですが、、、

なんだか分かりませんが、GAEのSDKを1.2.7にしたらhttpsプロキシ経由のアップロードが失敗するようになってしまいました。

尚、appcfg.pyとプロキシに関するGoogle様の正式なドキュメントは、
Uploading and Managing a Python App
でございます(日本語版のページはちょっと古いので参照しないように)。

ま、書いてある通りに動けば何も悩むことはないんですがね。

SDKのリリースノートを探ると、1.2.6の時に、
・Appcfg now uses https by default.
こんな記述があります。

・・・あれ?今までってhttps使ってなかったの?ほんと?
疑問は尽きないが、これが影響した可能性大。

(多分)既存の動作と同じだと思われる動作をさせるためには、--insecureオプションを付けてやると良いです。とにかくセキュアだろうがなんだろうがアップロードできりゃいいんじゃい!っていうなら、それで解決です。
しかし!それってなんか怖いなあ。httpsでアップロードしたいよう。せめて認証くらいはhttpsでやって欲しい。

--insecureをつけない場合に、プロキシ君にはじかれてしまうわけですが、Wiresharkでちょろっと見たところ、httpsなのにプロキシサーバにGETを要求してやがる。HTTPSなんだからそこはCONNECTでしょ!?GETじゃ失敗するよ、そりゃあ。(追記:必ずしもCONNECTでないと失敗するわけでもない模様。認証そのものはPOST over HTTPSでやっていて、それは成功している。謎)
原因がappcfg.pyなのか、pythonのHTTP/HTTPS要求ライブラリなのかわかりませんが、なんとかならんものか。

0 件のコメント: