logo
Yukiya Blog

開発環境では問題が無く、ビルド時にエラーも出ないが、デプロイ(本環境)でのデータフェッチが失敗する

開発環境では問題が無く、ビルド時にエラーも出ないが、デプロイ(本環境)でのデータフェッチが失敗するのサムネイル画像

カテゴリー

前置き

  1. WordPressをヘッドレスCMSとしてNext.jsでブログサイトを作った
  2. WordPressのホスト先はXserverを使用
  3. Next.jsアプリでローカルビルドは問題なく通る
  4. XserverにホストしているWordPressのREST APIを使用してVercelにホストしたNext.jsのビルドが失敗する

解決したいこと

Vercel上でnpm run build が実行された時にデータフェッチが失敗するという事象です。

Next.js(App router)でヘッドレスCMS(WordPress)のサイトを制作しています。 デプロイ先はVercelです。

開発環境(ローカル実行では)では問題なくデータフェッチできてコンテンツが表示されており、ビルド時にエラーも発生しません。 しかし「デプロイするとデータフェッチに失敗してコンテンツが表示されない」という状況になっています。

エラー内容

Vercelのログを確認すると、データフェッチしているAPIファイル(例:/app/posts)と、 そのAPIを呼び出すコンポーネントファイルでサーバーエラーが出ていました。

エラー解消方法

そこでxserverのサーバーパネルログイン後にWordPressセキュリティ設定ページに遷移し、国外IPアクセス制限設定タブのREST APIアクセス制限をOFFにすることでデータフェッチできるようになりました。 どうやらXserverのデフォルトの設定では国外のIPアドレスからのリクエストを無効にしているようです。。