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

推薦する

開発環境にUbuntu 16をインストール後の初期設定

オフィスでは、Linux 開発環境として Ubuntu システムが必要です。現在、Ubuntu 16...

MySQL で置換操作を使用したときにデータ損失が発生する問題の解決策

序文同社の開発者は、データの更新時に replace into ステートメントを使用していました。不...

Ubuntu 18.04 (コミュニティ エディション) に Docker CE をインストールする方法

古いバージョンをアンインストールする以前に古いバージョンをインストールしたことがある場合は、まずそれ...

WeChatアプレットの世界的な状況の詳細な説明

序文WeChat アプレットでは、App.js の globalData を中間ブリッジとして使用し...

Mysql での結合操作

結合の種類1. 内部結合: 結合関係を持つ 2 つのテーブル内のフィールドは、結合関係を満たすレコー...

データベースクエリ、どのオブジェクトにどのフィールドが含まれているか、メソッドステートメント

データベースは、どのオブジェクトにどのフィールドが含まれているかを照会します。 *を選択 sysob...

Linuxでバージョン情報を表示する方法

Linux でバージョン情報を表示する方法。ビット数、バージョン情報、CPU コア情報、CPU 固有...

shtmlとhtmlの違い

Shtml と asp は似ています。shtml という名前のファイルでは、asp の命令と同様に、...

CSS3 はアニメーション属性を使用してクールな効果を実現します (推奨)

animation-name アニメーション名。複数のアニメーションがバインドされていることを示す...

Ubuntu にグラフィック ドライバーが正常にインストールされたかどうかを確認する方法

次のコマンドを実行します: glxinfo | grep レンダリング結果が「はい」の場合、グラフィ...

HTML と CSS に関する基本的なメモ (フロントエンドでは必読)

HTMLに触れた当初はレイアウトにいつもテーブルを使っていましたが、とても面倒で見た目も悪かったの...

Nginx+Tomcat 負荷分散クラスタのインストールと構成のケースの詳細な説明

目次序文1. Nginx+Tomcat 2. Nginxサーバーを構成する3. Tomcatアプリケ...

表面的なウェブデザイン

<br />私はいつもYahooのウェブデザインが素晴らしいと信じてきました。しかし、こ...

HTML 要素の高さ、offsetHeight、clientHeight、scrollTop などの詳細な説明。

要素に関するいくつかの属性フロントエンドの日常的な開発では、一部のページのプロパティを取得または監視...

Tomcat サービスに Java 起動コマンドを追加する方法

私の最初のサーバープログラム現在、オンラインゲームの書き方を学んでいるので、サーバーサイドのプログラ...