【解決】Linuxサーバーにブラウザアクセスできない原因はSELinux?確認と無効化手順を徹底解説
目次
- はじめに - よくある接続エラーの原因
- 見落としがちな原因 SELinux
- SELinuxとは
- SELinuxの状態確認方法
- SELinuxの無効化手順
- ブラウザアクセスの確認
- より安全な代替案 SELinuxポリシー設定 推奨
- SELinuxを再度有効にする方法
- トラブルシューティング チェックリスト
- まとめ
はじめに_よくある接続エラーの原因
Linuxサーバーを構築後、Webアプリケーションやサービスをインストールしてブラウザからアクセスしようとすると、「接続できませんでした」 や 「このサイトにアクセスできません」 というエラーに遭遇することがあります。

!
一般的には以下の原因が考えられます:
- ✅ サービスが正常に起動していない
- ✅ ファイアウォール(firewalld)で該当ポートがブロックされている
- ✅ ポート番号の設定ミス
しかし、これらを全て確認しても接続できない場合、SELinuxが原因である可能性が高いです。
見落としがちな原因_SELinux
SELinux(Security-Enhanced Linux) は、Linux初学者が最も見落としがちなセキュリティ機能です。特に以下のような状況で問題になります:
- CentOS/RHEL/Rocky Linuxを使用している
- ファイアウォール設定は正しいのにアクセスできない
curl localhost:ポート番号はローカルで成功するのに外部からアクセスできない
SELinuxとは
SELinux(Security-Enhanced Linux) は、Linuxカーネルに実装された強制アクセス制御(MAC)のセキュリティモジュールです。
SELinuxの主な特徴
| 項目 | 説明 |
|---|---|
| 目的 | システムリソースへの不正アクセスを防止 |
| 動作 | プロセスやファイルに対して細かいアクセス制御を実施 |
| デフォルト | CentOS/RHEL系では有効化されている |
| 影響範囲 | Webサーバー、データベース、カスタムポートなど |
SELinuxの3つのモード
┌─────────────────────────────────────────────┐
│ Enforcing (強制モード
│ ポリシー違反をブロック + ログ記録
└─────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────┐
│ Permissive (警告モード)
│ ブロックせずログのみ記録(デバッグ用)
└─────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────┐
│ Disabled (無効モード)
│ SELinux機能を完全に無効化
└─────────────────────────────────────────────┘
SELinuxの状態確認方法
ステップ1 SELinuxの現在のステータス確認
sudo sestatus
出力例: