ホームページ 運用・保守 Apache Apache 403 の禁止を解決する方法

Apache 403 の禁止を解決する方法

Dec 16, 2019 pm 02:34 PM
apache

Apache 403 の禁止を解決する方法

Apache 403 の禁止を解決するにはどうすればよいですか?

apache httpd サーバー 403 禁止問題

1. 問題の説明

apache2 の httpd 設定では、 403 はさまざまな場面で登場します。

httpd サービスをインストールしたばかりなので、もちろん 403 問題は発生しません。この問題は主に、いくつかの構成を変更した後に発生します。問題の説明は次のとおりです:

DocumentRoot ディレクトリのポイントを変更した後、サイトで 403 エラーが発生しました。

仮想ホスト ディレクトリを設定すると 403 が発生する場合もあります。

Apache の httpd サービスは正常に開始されました。正常に見えますが、アクセスする権限がありません。

ログが表示されます: へのアクセス / 拒否 (ファイルシステム パス '/srv/lxyproject/wsgi/) django.wsgi ') パスのコンポーネントに検索権限がないためです。

仮想ディレクトリを設定した後、エラー ログが表示されます: サーバー構成によりクライアントが拒否されました: /srv/lxyproject/wsgi/django.wsgi

2. 問題と解決策の分析

以下の手順に従って問題を解決するときは、エラー ログの内容に注意してください。はい、始めます。

1. httpd.conf のディレクトリ設定ファイル

たとえば、DocumentRoot が変更されたことが示されている場合は、「/usr/local/site/test」に変更されます。 mkdirを使用してsiteディレクトリとtestディレクトリを作成し、testディレクトリ配下にindex.htmlを配置します。この場合、httpd.conf の設定を確認する必要があります。

あなたの <ディレクトリ "/usr/local/site/test"> は DocumentRoot と一致している必要があります。このディレクトリは Apache のディレクトリへのアクセス許可設定であるためです。正しいディレクトリのみが設定されており、DocumentRoot は効果。

<Directory "/usr/local/site/test">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn&#39;t give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None
    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>
ログイン後にコピー

2. ディレクトリ アクセス許可

設定が 403 のままの場合、最初の手順は正しいです。ディレクトリ設定 すべて。そうしないと、当然のことながら、すべてのアクセスが拒否されます (403)。

[すべてから許可] または [すべての処理許可を要求] に設定できます。

のルート ディレクトリにある Deny from all を変更しないでください。

3. ディレクトリのアクセス許可

まだ 403 である場合は、Web サイトのディレクトリのアクセス許可に問題がある可能性があります。

Apache では、ディレクトリに実行権限 (x ) が必要です。ディレクトリ ツリーにはこれらの権限が必要であることに注意してください。

ディレクトリが /usr/local/site/test の場合、/usr、/usr/local、/usr/local/site、/usr/local/site/test の 4 つのレベルがすべてのディレクトリであることを確認します。 755の権限を持っています。

#chmod 755 /usr/local/site
#chmod 755 /usr/local/site/test
ログイン後にコピー

私が犯した間違いの 1 つは、最終レベルのディレクトリのアクセス許可のみを設定し、上位レベルのディレクトリのアクセス許可を設定しなかったことで、結果は 403 になりました。

4. 仮想ディレクトリ

[このように書いたことがないので、この問題に遭遇したことはありません。オンライン情報には次のように書かれており、参考になります]

仮想ディレクトリに設定されている場合は、httpd.conf で仮想ディレクトリを定義する必要があります。これは次のフラグメントのようになります。

Alias /folder "/usr/local/folder"                       
<Directory "/usr/local/folder">                         
    Options FollowSymLinks                            
    AllowOverride None                              
    Order deny,allow                               
    Deny from all                                 
    Allow from 127.0.0.1 192.168.1.1                       
</Directory>
ログイン後にコピー

この場合、次のように記述します。上記のコードと同様に、3 つのどのフォルダーも同じです。間違いなく 403 になります。解決方法は、Aliasの後ろのスラッシュ以降の文字列を、仮想ディレクトリのフォルダ名と異なる名前に変更すれば、変更した仮想ディレクトリを使用してアクセスできるようになります。フォルダーでも問題ありませんが、トラブルを恐れず、Alias の後ろにある仮想ディレクトリ定義文字 (赤色) と実際のフォルダー名 (黒色) が異なっていれば問題ありません。

5. Selinux の問題

それでも 403 のままの場合は、selinux が問題を引き起こしているため、ディレクトリに selinux 権限を設定できます。

今日この問題に遭遇しました。

#chcon -R -t httpd_sys_content_t /usr/local/site
#chcon -R -t httpd_sys_content_t /usr/local/site/test
ログイン後にコピー

オンライン情報によると、この手順のほとんどは実行されません。しかし、私の問題は、それがシステムに関連している可能性があり、具体的な原理がよくわからないということです。

6. wsgi に関する問題

仮想ホスト構成は次のとおりです:

<VirtualHost *:80>
WSGIScriptAlias / /srv/lxyproject/wsgi/django.wsgi
Alias /static/ /srv/lxyproject/collectedstatic/
ServerName 10.1.101.31
#ServerName example.com
#ServerAlias www.example.com
<Directory /srv/lxyproject/collectedstatic>
  Options Indexes  FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
<Directory /srv/lxyproject/wsgi/>
    Allow from all
</Directory>
ErrorLog   /etc/httpd/logs/lxyproject.error.log
LogLevel warn
</VirtualHost>
ログイン後にコピー

ログ エラーにアクセスします:

client denied by server configuration: /srv/lxyproject/wsgi/django.wsgi
ログイン後にコピー

解決策方法:

の「すべてから許可」を「すべて許可する必要がある」に変更します。

この問題はバージョンが原因です。

私の httpd バージョンは:

[root@yl-web conf.d]# rpm -qa |grep httpd
httpd-devel-2.4.6-31.el7.centos.x86_64
httpd-tools-2.4.6-31.el7.centos.x86_64
httpd-2.4.6-31.el7.centos.x86_64
ログイン後にコピー

2.3 より前のバージョンの場合は「すべてから許可」を使用し、バージョン 2.3 以降の場合は「すべてから許可」を使用します。すべて許可する必要があります。

rree

以上がApache 403 の禁止を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

H5プロジェクトの実行方法 H5プロジェクトの実行方法 Apr 06, 2025 pm 12:21 PM

H5プロジェクトを実行するには、次の手順が必要です。Webサーバー、node.js、開発ツールなどの必要なツールのインストール。開発環境の構築、プロジェクトフォルダーの作成、プロジェクトの初期化、コードの書き込み。開発サーバーを起動し、コマンドラインを使用してコマンドを実行します。ブラウザでプロジェクトをプレビューし、開発サーバーURLを入力します。プロジェクトの公開、コードの最適化、プロジェクトの展開、Webサーバーの構成のセットアップ。

XMLでPDFをエクスポートする方法 XMLでPDFをエクスポートする方法 Apr 03, 2025 am 06:45 AM

XMLをPDFにエクスポートするには、XSLTを使用し、XMLデータバインディングライブラリを使用する方法は2つあります。 XSLT:XSLT StyleSheetを作成し、XSLTプロセッサを使用してXMLデータを変換するPDF形式を指定します。 XMLデータバインディングライブラリ:XMLデータバインディングライブラリのインポートPDFドキュメントオブジェクトの作成XMLデータエクスポートPDFファイル。 PDFファイルに適している方法は、要件に依存します。 XSLTは柔軟性を提供しますが、データバインディングライブラリは簡単に実装できます。単純な変換のために、データバインディングライブラリの方が優れており、複雑な変換の場合、XSLTがより適しています。

Apacheのトラブルシューティング:一般的なエラーの診断と解決 Apacheのトラブルシューティング:一般的なエラーの診断と解決 Apr 03, 2025 am 12:07 AM

Apacheエラーは、ログファイルを表示することで診断および解決できます。 1)error.logファイルを表示する、2)GREPコマンドを使用して特定のドメイン名でエラーをフィルタリングし、3)ログファイルを定期的にクリーニングして構成を最適化し、4)監視ツールを使用してリアルタイムで監視およびアラートします。これらの手順を通じて、Apacheエラーは効果的に診断および解決できます。

pom.xmlを生成する方法 pom.xmlを生成する方法 Apr 03, 2025 am 06:00 AM

POM.xmlファイルを生成するには次の方法があります。MavenArchetypeを使用して、特定の種類のプロジェクトのPOM.xmlファイルを自動的に生成する定義済みのプロジェクトテンプレートを提供します。 Maven Helperプラグインを使用して、pom.xmlファイルを生成するコマンドを提供します。プロジェクトのpom.xmlファイルをカスタマイズするには、手動で作成します。

サーバー側でキャラクターエンコードを設定する方法ブートストラップテーブルを解決する方法 サーバー側でキャラクターエンコードを設定する方法ブートストラップテーブルを解決する方法 Apr 07, 2025 pm 12:00 PM

サーバー側に文字エンコードを設定して、文字化けしたブートストラップテーブルを解決するには、次の手順に従う必要があります。サーバー文字のエンコーディングを確認します。サーバー構成ファイルを編集します。 EncodingをUTF-8に設定します。サーバーを保存して再起動します。エンコーディングを確認します。

xamppでmysqlを起動できません xamppでmysqlを起動できません Apr 08, 2025 pm 03:15 PM

ポート競合、構成ファイルエラー、システム許可の不十分、サービス依存関係の問題、インストールの問題など、XAMPPがMySQLを起動できない理由はたくさんあります。トラブルシューティング手順は次のとおりです。1)ポートの競合を確認します。 2)構成ファイルを確認します。 3)システムの許可を確認します。 4)サービスの依存関係を確認します。 5)mysqlを再インストールします。これらの手順に従うと、MySQLの起動が失敗する問題を見つけて解決できます。

ブートストラップページをプレビューする方法 ブートストラップページをプレビューする方法 Apr 07, 2025 am 10:06 AM

Bootstrapページのプレビュー方法は次のとおりです。BrowserでHTMLファイルを直接開きます。ライブサーバープラグインを使用してブラウザを自動的に更新します。ローカルサーバーを構築して、オンライン環境をシミュレートします。

PDFからXML:フォーマットとデータを保存するためのベストプラクティス PDFからXML:フォーマットとデータを保存するためのベストプラクティス Apr 02, 2025 pm 11:18 PM

PDFをXMLに変換する方法は?オンラインコンバーター、デスクトップソフトウェア、またはプログラミングライブラリを使用して、適切なファイル形式(XHTML、PDF/UA、XML)を選択して、PDF(OCR、不要な要素を削除し、ページを調整)を最適化して、変換の設定(タグ、メタデータ、画像抽出)の品質管理(検証XML、プロフェッショナルツールの調整)、調整)の品質管理(

See all articles