Ruby Geocoder でプロキシ経路を設定する
ジオコーディング事業者に接続するプロセスで、Geocoder 自身の HTTP と HTTPS の検索経路を設定します。
Rails の住所検索は通常、Geocoder を動かしているアプリケーションプロセスから出ます。開発者のブラウザに設定したプロキシは、Web ワーカーやバックグラウンドジョブがその経路を使っている証拠にはなりません。
Geocoder は設定の中でプロキシの項目を公開しています。アプリケーションのイニシャライザで、送信先プロトコルの両方に明示的なエンドポイントを指定できます。
Geocoder.configure(
http_proxy: 'proxy.example.net:8080',
https_proxy: 'proxy.example.net:8080'
)
この Net::HTTP の検索経路では、Geocoder が検索のプロトコルに応じて http_proxy か https_proxy を選び、エンドポイントをホスト、ポート、任意の認証情報に分解します。設定は、実際に使っている検索バックエンドと Geocoder のバージョンに合わせてください。許可された公開事業者への検索でプロキシのアカウントが不要な場合は、HTTP プロキシ一覧からこの HTTP 中継に使える host:port の候補を得られます。
実際に処理を行うプロセスを設定してください。ジオコーディングが別のジョブワーカーで動いている場合、Web 側のデプロイでイニシャライザを変えても、すでに起動中のワーカーの設定は更新されません。アプリケーションの通常のデプロイ手順に従って、該当するプロセスを再読み込みするか再起動してください。Sidekiq が実行する検索については、実際のワーカープロセスとそのクライアント側の入力を確認してください。