Nuxt.js asyncDataを使ってAPIアクセスしたらconnect ETIMEDOUTになった
Nuxt.js
Nuxt.js asyncDataを使ってAPIアクセスしたらconnect ETIMEDOUTになった
結論
[DNS](http://d.hatena.ne.jp/keyword/DNS)の名前解決に失敗している
理由
asyncDataはリク[エス](http://d.hatena.ne.jp/keyword/%A5%A8%A5%B9)ト元がサーバーサイドなので、自分自身のサーバーに対してリク[エス](http://d.hatena.ne.jp/keyword/%A5%A8%A5%B9)トしているのだけれど、そのリク[エス](http://d.hatena.ne.jp/keyword/%A5%A8%A5%B9)ト指定がフルのURL([https://domain-name.com/api/xxxxx](https://domain-name.com/api/xxxxx))のような形だったのですが
そのサーバーの前段にconohaのロードバランサーを入れていました。
その結果、DNSの名前解決先としてはロードバランサーのIPを示しているため
結果、ロードバランサーの後ろにあるNuxt.jsサーバーからロードバランサーにapiリクエストが
飛ぶという問題でした
解決策
[API](http://d.hatena.ne.jp/keyword/API)サーバーを別に立てて、別[ドメイン](http://d.hatena.ne.jp/keyword/%A5%C9%A5%E1%A5%A4%A5%F3)にしました。
Firebaseのfunctionsが便利でしたので、functionsにnodeサーバーでAPIを構築し解決です。
