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 の違い

推薦する

JSON.stringify のさまざまな用途のまとめ

序文json を使用したことがある人なら、オブジェクトを文字列化してからバックエンドに送信するのが一...

mysql はフィールドコンテンツの一部を置き換え、mysql は関数 replace() を置き換えます。

[mysql] replace の使用方法 (フィールドの内容の一部を置き換える) [mysql]...

IE における条件付きコメントの利点と欠点

IE の条件付きコメントは、通常の (X)HTML コメントに対する Microsoft 独自の (...

CSS ハート型読み込みアニメーションのソースコードの実装

さっそく、コードをお見せしましょう。コードは非常にシンプルなので、勉強すれば理解できるようになります...

Server-U 14バージョンのインストールと使用方法

Server-Uソフトウェアの紹介Server-U は非常に強力なファイル マネージャーです。FTP...

MYSQLの文字セット設定方法(端末の文字セット)の詳しい説明

序文ターミナルを使用してデータベースまたはテーブルを作成するたびに、文字セットが latin1 であ...

jsは徐々に増加するデジタルアニメーションを実現します

目次背景コンテナを固定し、数字を上にスクロールすることで、スクロールホイールと同様の効果を実現します...

HTML に埋め込まれた MP4 形式のビデオが再生できないのはなぜですか?

次のコードは、私の test.html にあります。ビデオは、c:\test.html などの絶対パ...

Reactフックとzarmコンポーネントライブラリ構成に基づいてh5フォームページを開発するためのサンプルコード

最近、React Hooks を zarm コンポーネント ライブラリと組み合わせて使用​​し、js...

MySQL クラスタの詳細な説明: 1 つのマスターと複数のスレーブのアーキテクチャ実装

実験環境: 1. CentOS 7 サーバー 3 台2. mysql5.7.26 (3台のマシンはす...

PostgreSQL正規表現の一般的な機能の概要

PostgreSQL正規表現の一般的な機能の概要正規表現は、複雑なデータ処理を必要とするプログラムに...

要素の円弧モーションを実現する CSS3 サンプルコード

CSS を使用して要素の円弧の動きを制御する方法CSS3 の新しい属性 transfrom トランジ...

VueコンポーネントライブラリElementUIはテーブルリストのページング効果を実現します

ElementUIはテーブルリストのページング効果のチュートリアルを実装しています。参考までに。具体...

MySQL 5.7 でパスワードを変更する簡単な方法

これは公式のスクリーンショットです。MySQL 5.7 をインストールすると、デフォルトのパスワード...

xtrabackup による MySQL データベースのバックアップと復元

mysqldump バックアップは、その独自の特性 (テーブルのロック、基本的に挿入スクリプトまたは...