Nginx を使っているときに 403 というエラーが出た場合、このページで解決できます。難しい知識は不要です。上から順に確認していきましょう。


まずこれだけ試してください

難しいことを調べる前に、次の3つを確認してください。多くの場合、これだけで解決します。

  1. 一度ログアウトして、再度ログインする
  2. ブラウザのキャッシュ・Cookieをクリアして再試行する
  3. しばらく待ってから(5〜10分後)再試行する

このエラーの意味

403 は、Nginx が「クライアントはリソースの存在を確認できるが、アクセスが拒否されている。」という状態のときに表示されます。

エラーが出ても、データが消えたり壊れたりするわけではないので安心してください。


よくある原因

このエラーが出るときによく見られるパターンです。自分の状況に近いものを探してみてください。

  • ディレクトリにindex.htmlがなくautoindexがoffになっている
  • ファイルまたはディレクトリのパーミッションがnginxプロセスから読めない設定になっている
  • nginx.confのdeny all;ルールが適用されている

解決手順(上から順に試す)

  1. ls -la でファイルのパーミッションを確認しchmod 644 <ファイル>で修正する
  2. nginx.confのallow/denyルールを確認してIPまたはアクセスを許可する
  3. autoindex on;を設定するかindex.htmlを配置する

それでも解決しない場合

  • Nginx のサポートに問い合わせる:エラーメッセージの全文をスクリーンショットで送ると対応が早くなります
  • 公式ヘルプページを検索する:「403 Nginx」で検索すると関連ページが見つかることがあります
  • 時間をおいて再試行する:Nginx 側で一時的な問題が起きているケースもあります

免責事項:本記事の内容は、執筆時点の公開情報をもとに作成したものです。ソフトウェアの仕様は予告なく変更されることがあります。最新の情報は各ツールの公式サポートページをご確認ください。本記事の情報を利用した結果生じたいかなる損害についても、著者および運営者は責任を負いかねます。