Nuxt.jsでAPIのCORS対策をするとNetlifyで404エラーになる件
概要
- Nuxt.jsでCORSエラーが発生したので、axiosのproxiy設定をした
- Netlifyにデプロイすると404エラーが発生した
- Netlifyのリダイレクトオプションを設定して解決
Nuxtの設定
.env
BASE_API_URL="http://localhost"
BASE_CACHE_URL="http://localhost"
nuxt.config.js
const baseApiUrl = process.env.BASE_API_URL || "http://localhost";
const baseCacheiUrl = process.env.BASE_CACHE_URL || "http://localhost";
export default {
...
/*
** Axios module configuration
*/
axios: {
credentials: true,
proxy: true,
debug: true
},
proxy: {
"/caches/": baseCacheiUrl,
"/game/": baseApiUrl,
"/common/": baseApiUrl
},
Nuxtの設定
ローカル環境で動作検証
正常にAPI通信できている模様
Netlifyにデプロイ
動かない
APIのレスポンスは200が返っているが、404ページのDOMが返却されている模様
対策
static/_redirects
Netlifyのリダイレクトオプションを設定
https://docs.netlify.com/routing/redirects/rewrites-proxies/#limitations
+ /game/* https://api.deckup.cards/game/:splat 200
+ /common/* https://api.deckup.cards/common/:splat 200
+ /caches/* https://cache.deckup.cards/caches/:splat 200
/* /index.html 200
結果
Author And Source
この問題について(Nuxt.jsでAPIのCORS対策をするとNetlifyで404エラーになる件), 我々は、より多くの情報をここで見つけました https://qiita.com/takasu_mtg/items/9f7ef27a032710c06f61著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .