Nginx で 403 forbidden を解決するための完全な手順

Nginx で 403 forbidden を解決するための完全な手順

ウェブページに403 Forbiddenと表示される

Nginx (yum インストール ログは通常 /var/log/nginx/error.log にあります) エラー ログの表示

open() "/web/www/one.txt" が失敗しました (13: 権限が拒否されました)、クライアント: 192.168.1.110、サーバー: rumenz.com、リクエスト: "GET /one.txt HTTP/1.1"、ホスト: "rumenz.com"

これには4つの理由があります。

  1. SELinuxは無効になっていません
  2. Nginx の起動ユーザーと作業ユーザーが一致していません
  3. ウェブページが配置されているディレクトリの権限が正しくありません
  4. デフォルトのホームページがありません

解決:

SELinuxは無効になっていません

1.1 SELinuxを一時的に無効にしますが、オペレーティングシステムを再起動すると再び有効になります。

強制設定=0

1.2 SELinuxを永久に無効にする

vim /etc/selinux/config

SELINUX=enforcing を SELINUX=disabled に変更します。

Nginx の起動ユーザーと作業ユーザーが一致していません

[root@rumenz#]ps aux | grep "nginx: ワーカープロセス" | awk '{print $1}'
誰でもない
根

Nginx設定ファイルを変更する

vim /etc/nginx/nginx.conf

ユーザーnobodyをユーザーrootに変更し、Nginxを再起動します。

注: Nginxの起動ユーザーと作業ユーザーは異なる場合がありますが、作業ユーザーがWebディレクトリにアクセスする権限を持つようにWebディレクトリの権限を構成する必要があります。

ウェブページが配置されているディレクトリの権限の問題

3.1 きめ細かな制御: Web ページのルート ディレクトリには x 権限 (つまり、cd でアクセスできる) が必要であり、Web ページが配置されている親ディレクトリには r (読み取り権限) が必要です。

3.2 単純で粗雑(推奨されない、安全ではないが効果的):

chmod -R 777 /web
chmod -R 777 /web/www

デフォルトのホームページがありません

4.1 権限を割り当てた後も、ホームページに「403 Forbidden」と表示されるのはなぜですか?

4.2 ウェブページのルートディレクトリにはデフォルトのホームページindex.htmlが提供されます。

Nginx で 403 forbidden を解決する方法についての記事はこれで終わりです。Nginx で 403 forbidden を解決する方法についての詳細は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • 権限の問題によって発生する Nginx 403 Forbidden エラーの解決策
  • Nginx 403 禁止の解決策
  • Nginx 403 禁止の最終解決策
  • Nginx が 403 禁止エラー (13: 権限が拒否されました) を報告する場合の解決策
  • Nginx の 403 Forbidden の解決方法の詳細な説明
  • Nginx ウェブサイトのルートディレクトリを変更して 403 禁止を引き起こす問題の解決策

<<:  Vueカスタムカプセル化ボタンコンポーネント

>>:  MySQL MyISAM と InnoDB の違い

推薦する

Tomcat が設定ファイルを外部に配置するためのソリューション

質問通常の開発では、プロジェクトを Tomcat にデプロイする場合、プロジェクトを war パッケ...

ApacheとTomcatを組み合わせて静的状態と動的状態を分離する方法

実験環境ApacheとTomcatは両方ともIPアドレス192.168.153.136のホストにイン...

CSS 読み込み効果の実装 パックマン

えーっと、名前はただの推測です 2333序文これは練習用の CSS デモです。何か間違っている点があ...

vue-cli を使用してプロジェクトを作成し、webpack でパッケージ化する方法

1. 環境を準備する(Node.jsをダウンロードし、環境変数を設定する) 2. vue-cliをグ...

Nginx http ヘルスチェック構成プロセス分析

パッシブチェックパッシブ ヘルス チェックでは、NGINX と NGINX Plus はイベントの発...

docker 環境でのデータベース バックアップ (postgresql、mysql) のサンプル コード

目次posgresql バックアップ/リストアMySQL バックアップ/復元posgresql バッ...

CentOS7 で MySQL のスケジュールされた自動バックアップを実装する方法

実稼働環境で起こる最も嬉しいことは、シナリオによっては、更新または削除時にパラメータを無視せざるを得...

JavaScript スコープチェーンの基本原理のグラフィカルな説明

目次序文範囲1. スコープとは何ですか? 2. [[スコープ]] プロパティ3. スコープチェーン4...

CSS3はキングをマッチングさせるときにパーティクルアニメーション効果を実現します

コーディングをしていると、多くのことが同じ結末を迎えることに気づくでしょう。問題を解決する方法は何千...

MySQL データ型 DECIMAL の使用方法の詳細な説明

MySQL DECIMALデータ型は、データベースに正確な数値を保存するために使用されます。会計シス...

vue3 のさまざまな構文形式を比較したサンプルコード

デフォルトのテンプレートメソッドはvue2に似ており、コンポーネント内のセットアップ関数を使用します...

HTML タグ: サブタグと sup タグ

今日はあまり使わないHTMLタグ「subタグ」と「supタグ」を紹介します。関連記事: HTML タ...

Clickhouse Docker クラスターの展開と構成を例を使って説明します

目次前面に書かれた環境の展開Zookeeper クラスタの展開Clickhouse クラスターの展開...

この記事はPReact10.5.13のソースコードを理解するのに役立ちます

目次render.js 部分create-context.js 部分差分部分Reactのソースコード...

VMware 仮想マシンに Centos7.3 をインストールするチュートリアル図

VMware の準備 CentOS の準備、こちらは CentOS 7.3 CentOS-7-x86...