now.shにデプロイしたAPIサーバーに、CORS(Cross-Origin Resource Sharing)設定をする
公開日: 2019.6.18
now.shでAPIなどのアプリをデプロイすると時に、CORS(Cross-Origin Resource Sharing)設定が必要になります。now.shでは、設定ファイルで簡単にheaderを追加できるので、そのやり方をまとめました。
編集ノート:SERVERSUSでは、パートナーリンクからコミッションを得ています。コミッションが記事の意見や、サービスの評価に影響を与えることはありません。
now.jsonにheaderセクションを追加する
now.shの挙動はnow.jsonに書くことになっていますが、こちらにはHTTPヘッダの情報も含めることができます。
CORSにも対応しているので、下記のように記述(追記)します。
{
"routes": [
{ "src": ".*", "headers":
{
"Access-Control-Allow-Origin": "*"
}
}
]
}
上記の設定では、すべてのオリジンを受け付ける(「*」の部分)ようになっていますが、ここは適宜変更してください。
その他HTTPヘッダの設定
アクセス可能なメソッドの追加
"Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS"
レスポンスヘッダの共有
"Access-Control-Allow-Headers":"X-Requested-With, Content-Type, Accept"
CORS設定ファイルのサンプル
{
"routes": [
{
{"Access-Control-Allow-Origin": "*"
"Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS"
"Access-Control-Allow-Headers":"X-Requested-With, Content-Type, Accept"},
"src":"/.*",
"dest":"/index.js"
}
]
}
設定ができたら、now.shにデプロイすればOKです。
プログラム側でheaderを追加することもできる
なお、node.jsなどHTTPヘッダーをいじれるアプリの場合は、もちろんそちらで設定することも可能です。
しかし、静的ファイル(jsonなど)には、プログラム側からHTTPヘッダを追加できないので、今回の「now.json」にHTTPヘッダ情報を含める方が一括で対応ができて便利かと思います。
now.shにデプロイしたAPIサーバーに、CORS(Cross-Origin Resource Sharing)設定をする方法を見てきました。
CORS設定は、APIを使う際に必須の条件なので、now.shでAPIを作ろうという方はぜひ設定してみてください。
価格は記載がある場合を除き、すべて税込みです。
関連キーワード
サーバレスの新着記事
- サーバレスCloudflare R2の料金体系・無料枠まとめ 2024.8.21
- サーバレスCloudflare R2をCyberduckで使う方法 2024.7.31
- サーバレスAIの学習ボット・クローラーからサイトを守るメリットとブロックする方法 2024.7.19
- サーバレスCloudFlare Pagesのビルド環境の違い 2024.5.9
- サーバレスCloudflare D1の料金体系・無料枠まとめ 2024.3.25
- サーバレスCloudflare PagesでNuxt3のビルド時に「ENOENT: no such file or directory」エラーの対象方法 2024.3.21
- サーバレスGitlab CLIでpush時に「glab auth not found」となった際の対処方法 2024.3.19
- サーバレスCloudFlare Workers AIの料金体系・無料枠まとめ 2024.2.2