技術共有

Ubuntu の実質的な続編: Apache httpd は効率的なプロキシ サーバーを簡単に構築します

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Ubuntu の実質的な続編: Apache httpd は効率的なプロキシ サーバーを簡単に構築します

著者:ガオ・ユーハン
時間:2024.7.11 21:06
ブログ: blog.csdn.net/cg_i
環境:Ubuntu 22.04.4 LTS、Apache/2.4.52(Ubuntu)

機械は人間よりも能力が高く、ほとんどの人は何もせずに終わるでしょう。

I.はじめに

この記事は [「Windows 11 での Apache httpd の実戦: 効率的なプロキシ サーバーを簡単に構築する」](Windows 11 での Apache httpd の実践: 効率的なプロキシ サーバーを簡単に構築する - CSDN ブログ )の姉妹作品。前の章で、その方法を詳しく説明しましたWindows 11システムを悪用するApache httpd効率的で安定したプロキシ サーバーを構築します。ただし、理由により、WindowsそしてUbuntu多くの人が使い慣れている 2 つの主要なオペレーティング システムの間には、構成と管理に大きな違いがあります。Ubuntuシステムのユーザーは、多くの課題に直面している可能性があります。そんなユーザーのニーズにお応えするため、詳しく、わかりやすいガイドを目指して、この実践ガイドを特別に創刊しました。Ubuntuシステム上でApache httpdプロキシ サーバーのセットアップに関するチュートリアル。初心者でも経験豊富な開発者でも、自分に合った学習パスを見つけて簡単に習得できると思います。Ubuntu効率的なプロキシ サーバーを構築するスキル。

2. Ubuntu での Apache 構成ファイルの概要

Ubuntu システムでは、Apache2 の構成システムが独特で、すべての設定を 1 つの構成ファイルに集中させるいくつかのシステムとは異なり、Ubuntu はモジュール設計の考え方を採用しています。この設計では、さまざまな構成アイテムが複数のファイルとパスに分散されます。apache2.confメイン設定ファイル内Includeこれらの分散した設定ファイルを参照するためのディレクティブ。

具体的には、Ubuntu の Apache2 構成ファイルとディレクトリ構造は次のように要約できます。

  1. 主な設定ファイル:
  • 位置:/etc/apache2/apache2.conf
  • 機能: これは Apache の主要な設定ファイルであり、システムの起動時に自動的に読み込まれます。他の設定ファイルへのリンクが含まれていますIncludeモジュール構成、ポート構成、仮想ホスト構成などの重要な設定をロードする手順。
  1. モジュール構成ファイル:
  • 利用可能なモジュール構成:/etc/apache2/mods-available/利用可能なすべての Apache モジュール構成ファイルを保存するディレクトリ (.loadそして.conf書類)。

  • 有効なモジュール構成:/etc/apache2/mods-enabled/ディレクトリ、ストレージポインタmods-available実際に有効にするモジュールを決定するディレクトリ内のファイルへのシンボリック リンク。

  1. ポート設定ファイル:
  • 位置:/etc/apache2/ports.conf
  • 機能: Apache 監視用のポート番号設定が含まれています。このファイルは、リスニング ポートを変更するときに編集する必要があります。
  1. 仮想ホスト構成ファイル:
  • 利用可能な仮想ホスト構成:/etc/apache2/sites-available/利用可能なすべての仮想ホスト構成ファイルを保存するディレクトリ。
  • 仮想ホスト構成が有効になっています:/etc/apache2/sites-enabled/ディレクトリ、ストレージポインタsites-availableどの仮想ホストが実際に有効であるかを決定する、ディレクトリ内のファイルへのシンボリック リンク。
  1. その他の設定ファイル:
  • オプション:/etc/apache2/conf-available/そして/etc/apache2/conf-enabled/他のオプションの構成ファイルとその有効化リンクを保存するディレクトリ。
  • 環境変数の設定:/etc/apache2/envvarsApache ランタイムの環境変数を含むファイル。
  1. ユーザー定義の構成ファイル (デフォルト以外のメイン構成):
  • 位置:/etc/apache2/httpd.conf
  • 説明: 場合によっては、ユーザーはこのファイルにカスタム構成を追加できます。ただし、Ubuntu の Apache2 のデフォルト インストールでは、すべての主要な設定が他のファイルに分散されているため、このファイルは空である可能性があります。

予防

  • UbuntuのApache2では、httpd.confメインの構成ファイルではないため、デフォルトでは空の場合があります。したがって、Ubuntu で Apache を構成する場合は、次のことに重点を置く必要があります。apache2.conf書類とそれを通してIncludeディレクティブによって参照される他の構成ファイル。

3. Apache プロキシ サービスを構成して有効にする

1.プロキシモジュールを有効にする

  • モジュール有効化ディレクトリに移動します。cd /etc/apache2/mods-enabled
  • プロキシ モジュールを有効にするために必要なシンボリック リンクを作成します。
sudo ln -s ../mods-available/proxy.load  
sudo ln -s ../mods-available/proxy_connect.load  
sudo ln -s ../mods-available/proxy_http.load  
sudo ln -s ../mods-available/proxy.conf
  • 1
  • 2
  • 3
  • 4

実行後、使用します ls -al コマンドを使用してリンク ステータスを表示すると、出力は次のようになります。

gao@NAS:/etc/apache2/mods-enabled$ ls -al pr*  
lrwxrwxrwx 1 root root 28  711 20:44 proxy.conf -> ../mods-available/proxy.conf  
lrwxrwxrwx 1 root root 36  711 20:40 proxy_connect.load -> ../mods-available/proxy_connect.load  
lrwxrwxrwx 1 root root 33  711 20:40 proxy_http.load -> ../mods-available/proxy_http.load  
lrwxrwxrwx 1 root root 28  711 20:40 proxy.load -> ../mods-available/proxy.load
  • 1
  • 2
  • 3
  • 4
  • 5
  • 例: proxy.load ファイルの内容

    LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
    
    • 1

2. 変更 proxy.conf 設定ファイル

次のようなテキスト エディタを使用します。 vi)編集 proxy.conf 書類:

gao@NAS:/etc/apache2/mods-enabled$ sudo vi proxy.conf
  • 1

次のように変更し、コメントを解除してプロキシ設定を適切に構成するようにしてください。

<IfModule mod_proxy.c>  
    # 如果想将 Apache 用作正向代理。  
    # 注意:请务必在 <Proxy *> 块中限制访问。  
    # 开放代理服务器对您的网络和整个互联网都是危险的。  
    #  
    # 如果只想将 Apache 用作某些 Web 应用程序服务器前的反向代理/网关,  
    # 则不需要 'ProxyRequests On'。  
    ProxyRequests On  
    <Proxy *>  
      Require all granted  
    </Proxy>  
</IfModule>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

3. リスニングポートの設定

  • Apache 構成ファイルのディレクトリに移動します。cd /etc/apache2
  • 編集 ports.conf リスニング ポートを追加または変更するファイル:
gao@NAS:/etc/apache2$ sudo vi ports.conf
  • 1

次のように内容を変更し、新しいリスニング ポート (たとえば、8756) を追加します。

# 如果只是更改端口或在此处添加更多端口,则可能还需要更改  
# /etc/apache2/sites-enabled/000-default.conf 中的 VirtualHost 语句。  
  
Listen 80  
Listen 8756  
  
<IfModule ssl_module>  
    Listen 443  
</IfModule>  
  
<IfModule mod_gnutls.c>  
    Listen 443  
</IfModule>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

4. Apache サービスを開始します

次のコマンドを使用して Apache サービスを開始します。

sudo systemctl start apache2
  • 1

Apache サービスが正常に開始されていること、およびプロキシ サービスが構成されたポートでリッスンしていることを確認してください。

gao@NAS:~$ netstat -an|grep '8756'
tcp6       0      0 :::8756                 :::*                    LISTEN     
  • 1
  • 2

この時点で、Apache httpd プロキシ サーバーは正常に構成され、Ubuntu システム上で起動されています。