よくある質問
403 Forbiddenが出るとき:見せない設定と、見せられない状態
2026年8月20日

レン
ファイルは置いたはずなのに、403 Forbiddenって出る…

プロクラ
403は「そこにあるかもしれないが、見せない」という応答だよ。404の「無い」とは違う。だから、置き場所は合っている可能性が高いんだ。
開ける入口は、使うものだけ
22開SSH接続元を絞る
80開Web公開するなら
443開Web(暗号化)公開するなら
3306閉データベース外に出さない
その他閉—既定で閉じる
「全部閉じてから、必要な分だけ開ける」が基本。SSHを閉じる前に自分の接続を確認
原因は大きく3方向
403は「届いているが見せない」という応答です。つまり通信経路とサーバーは正常で、判断として拒否されています。ここを押さえておくと、ネットワークやDNSを疑う無駄が省けます。見るべきはファイルの権限、設定による拒否、そして表示するファイルの不在の3つです。
- 権限: Webサーバーがそのファイルを読めない
- 設定: そのパスへのアクセスを禁止している
- 索引: ディレクトリを開いたが、表示すべきファイルが無い
1. 権限を疑う

プロクラ
Webサーバーは、キミとは別のユーザーとして動いている。だから、キミが読めるファイルでも、Webサーバーが読めるとは限らない。
- ファイル自体の権限(読めるようになっているか)
- そのファイルまでの、すべての親ディレクトリの権限
- 所有者とグループが、Webサーバーの実行ユーザーと噛み合っているか

プロクラ
見落とされやすいのが2つめだよ。ファイルの権限が正しくても、途中のディレクトリが通れなければ届かない。ディレクトリは「中を通る」ための権限が別に必要なんだ。

プロクラ
ここで「とりあえず777にする」のはやめよう。誰でも書き込める状態を作ることになる。直すべきは所有者のほうだよ。
2. 設定を疑う
- 設定ファイルで、そのパスへのアクセスを拒否していないか
- 接続元IPで制限をかけていないか(自分の回線のIPが変わった可能性)
- 特定の拡張子を配信しない設定になっていないか
- WordPressなどのアプリ側で、追加の制限をかけていないか
3. 索引ファイルが無い

プロクラ
ディレクトリを指定して開いたとき、Webサーバーはその中の決められた名前のファイルを探す。それが無いと、中身の一覧を出すか、403を返すかのどちらかになる。既定では一覧を出さない設定になっていることが多いよ。

ウィルスン
…ちなみに、一覧が出る設定のほうは、ワタシにとって親切な作りだ。置いてあるファイルが全部見えるのだからな。403のままにしておくほうが賢明だぞ。

プロクラ
そのとおりで、一覧表示を有効にして解決するのは筋が悪い。表示したいファイルを正しい名前で置くか、そのパスを使わないようにするのが本筋だよ。
確かめ方
- エラーログを見る。403の理由は、たいてい1行で書かれている
- 権限が原因なら「Permission denied」が併記される
- 設定が原因なら、どのルールに当たったかが分かることがある
- ログを見ずに設定を触ると、直ったのか別の理由で変わったのか分からなくなる

レン
「無い」んじゃなくて「見せない」。だから置き場所は合ってるんだね。
VPSの料金を比較する
あわせて読みたい
- よくある質問IPアドレスが変わった:どこを直す必要があるかサーバーを作り直すとIPが変わり、思わぬ場所が止まります。連動して直すべき設定を一覧で示し、固定IPをどう扱うかまで解説します。
- よくある質問PHPのバージョンを上げたら動かなくなったエラーの読み方と、拡張モジュール・非推奨機能・設定ファイルという3つの原因の切り分け。上げる前にやっておく確認と、戻す手順も解説します。
- よくある質問Dockerがディスクを食いつぶす:何が溜まっているのかイメージ・停止済みコンテナ・ボリューム・ログという4種類の溜まり方を整理します。安全に消す手順と、ボリュームを消してはいけない理由を解説します。
- よくある質問SSHの秘密鍵を失くした:入り直す手順鍵を失うとSSHでは入れなくなります。管理画面のコンソールから新しい鍵を登録する手順と、失う前にやっておく備えを解説します。
サーバーを触る前に押さえておきたいこと
姉妹サイトの、この記事と相性のいいページです。
- ネットワーク入門
IPアドレス・ポート・DNSの基礎 — prodou.net
- Linuxコマンド入門
ls / cd / grep などを疑似ターミナルで試しながら学べる — prodou.net
- CIDR Calculator
ファイアウォールの許可レンジを計算する — toolkitbox.net