【解決】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
出力例:
Ubuntu
Linux Mint
Elementary OS
Zorin OS
Manjaro
Fedora
OpenSUSE
Debian
CentOS Linux
CentOS Stream
Rocky Linux
AlmaLinux
Oracle Linux
Lubuntu
Peppermint OS
Knoppix
Arch Linux
Gentoo
Slackware
Scientific Linux
Clear Linux
Asahi Linux
Tizen
Red Hat Enterprise Linux (RHEL)
SUSE Linux Enterprise Server (SLES)
SUSE Liberty Linux
Mageia
BlackArch Linux
Ubuntu、 !
Linux Mint、 !
Zorin OS などの使いやすいディストリビューションがおすすめです。