ChromeのlocalhostでAPIをPOSTすると403 (Forbidden)

今回はChromeのlocalhostでAPIをPOSTすると403 (Forbidden)が出てしまう際の対応策についてご紹介いたします。



ChromeのlocalhostでAPIをPOSTすると403 (Forbidden)

実は対応策ははっきりとは分かっていません。

しかしlocalhost環境からiframeなどを経由してlocalhostに向けてAPIをPOSTすると403 (Forbidden)が起こるようです。

ただし、AWSのEC2など外部のサーバーにlocalhostから呼び出すなどすると403 (Forbidden)が起こりませんでした。

いろいろ探しましたが、一番参考になるのは下記の記事の回答部分です。
https://stackoverflow.com/questions/55121944/403-forbidden-on-cors-request-from-local

英語で書いてありますが、Chromeが何らかのCORSをブロックしていてこのエラーが起きている可能性が高いらしいですね。
CORSについて調べてみると、CORSはXSSなどを防ぐための技術のようです。

ひとまず無理やり結論に入りますが、変なスクリプトを防ぐためにlocalhost環境からiframeなどを経由してlocalhostに向けてAPIをPOSTすると403 (Forbidden)が起こるようなので、別のサーバーに向けたり処理を簡単にして試行錯誤しかなさそうです。

ブラウザの設定をいじれば自分の環境ではうまくいくかもしれませんが、他のユーザーから気軽にサービスを利用できなくなります。

終わりに

今回はChromeのlocalhostでAPIをPOSTすると403 (Forbidden)が出てしまう際の対応策についてご紹介いたしました。

最後までお読みいただきありがとうございます。
ブログやTwitterでのシェアOKです。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。






IT技術

Posted by ちこ