プロキシ環境下でElasticsearchにRubyから接続できない
問題
プロキシ環境下で、localhostに立てたElasticsearchに
gem elasticsearchを用いて、Rubyプログラムから接続を試みると、
プロキシサーバーを通して外に接続しに行こうとする orz...
バージョン
- Ruby 2.1.2p95
- Elasticsearch 1.3.2
- elasticsearch(gem) 1.0.4
原因
gem elasticsearchは内部でFaradayを利用している。
そのFaradayは環境変数ENVのhttp_proxyを読み込み、
プロキシ経由のネットワーク接続設定を行っている。
そして、no_proxyの設定を読み取ってくれてない orz...
安易な解決策
require 'elasticsearch' ENV["http_proxy"] = nil #このプログラムではプロキシを無効化 client = Elasticsearch::Client.new p client.info