[ruby]OmniAuth利用時に Authentication failure! timeout: Net::OpenTimeout, execution expired が発生
OmniAuthを使ったTwitter認証機能を試していた際に、
外で作業していた時は問題なくログインできていたのですが、家に戻ってから試すと
Authentication failure! timeout: Net::OpenTimeout, execution expired
のエラーが発生する現象に遭遇しました。
調べてみると、過去に HerokuからTwitterのAPIにアクセス出来ない問題 というのがあったりしていたようで、「まさかTwitterからIPから制限がかかってしまったのか」と思ったのですがローカル環境の仮想マシンだしなぁ... と思って仮想マシンを調べていたら、resolv.confが外出先のDNS情報のままで更新されていませんでした。
DHCPの場合、OS起動時に自動更新されるようですが、Macをスリープ状態にしてネットワーク環境を変えたので仮想マシンのネットワーク情報がうまく更新されなかった模様。
仮想マシンを再起動したらresolv.confが正しく更新され、無事にログインできました。
チョット焦りました。