Subscribe to RSS feed

3月
24

Windows Azure SDK for Java + Reverse Proxy (squid)

Windows Azure SDK for Java でプロキシが使えないので、Reverse Proxyを使うことで、別ルートでインターネットに接続する方策を模索。

下記のような構成で、コンテナの作成とBlobの作成までは実行できた。
ただし、いくつか制約もあるので、メモ。

<構成>
Windows Azure SDK for Java
 ↓
squid cache ( 2.7 stable 8 )
 ↓
Windows Azure Storage Service

<制約>
少し試してみたところ、下記のような制約があることが判明。
・リバースプロキシのポートは80限定?
 →Java SDKでStorageサービスのポート番号が指定できない?
・cache_peer に http11 オプションが必要
 →HTTP/1.1 のサポートはまだimcompleteとのNoteあり。危険?
・cache_peer に login=PASS オプションが必要
 →はずして確認はしていないが、Storage Service が 認証のために Authorization ヘッダを利用するので、このオプションを指定しないと動作しないと思われる
・ignore_expect_100 on の設定が必要
 →いまいちどういう影響があるのかわかっていないが、これを指定することはHTTP protocol 違反を生じるらしい。



3月
23

Windows Azure SDK for Java + proxy

ここのところ数日、Windows Azure SDK for Javaをお試し中。
システムで使いたいからなのだが、ひとつ大きな制約が。

Windows Azure はインターネット上にあるのに、そこにアクセスするSDK for Javaがプロキシ接続に対応していないのだ。

通常のJavaでHTTP開発を行う場合、java.net.* を利用すると思われるが、この場合は、Javaのシステムプロパティ http.proxyHost, http.proxyPort などを設定することで、プロキシを経由させることが出来る。
が、試してみたところ、これが機能しない。なぜかと思ったら、Azure SDK for Javaは、org.apache.http.* 系のモジュールを使ってHTTP通信を行っているみたいなのだ。

ちょっとSDKを改修すればいけそうなものなのだが、、、

Java SDK のsourceforgeにもProxyの要望があがっていたので、すぐに改修されるとうれしいのだが、、、そんなに早くはいかないかなぁ。。。