GNU/Linux >> Linux の 問題 >  >> Linux

Envoy Proxy Server でアプリケーションをプロキシする方法を学ぶ

プロキシ アプリケーションをセットアップしたいと思ったことはありませんか?プロキシ アプリケーションは、オンラインでのプライバシーを強化する効果的な方法です。 Envoy Proxy は、HTTP プロキシ サーバーをセットアップするのに最適なアプリケーションの 1 つです。そして、それの最良の部分は?それは完全に無料です!

このチュートリアルでは、Envoy を HTTP リバース プロキシ サーバーまたは TCP リレー サーバーとして使用する方法を学習します。数回クリックするだけで、独自のカスタム セキュリティ ポリシーを構成できます!

読み進めて、Envoy Proxy Server でプライバシーを強化しましょう!

前提条件

このチュートリアルは実践的なデモンストレーションです。フォローしたい場合は、次のものが揃っていることを確認してください:

  • Linux マシン – このデモでは Ubuntu 20.04 LTS を使用していますが、どの Linux ディストリビューションでも動作します。
  • sudo 権限を持つ root 以外のユーザー

Envoy プロキシのインストール

アプリケーションをプロキシする前に、他のパッケージの場合と同様に、まずマシンにアプリケーションをインストールします。ただし、サードパーティのリポジトリからインストールする前に、必要な依存関係もインストールします。

1. apt update を実行します 以下のコマンドを update に マシンのリポジトリ インデックス。

sudo apt update -y

2. 次に、apt install を実行します 以下のコマンドを使用して、HTTP セキュア プロトコル (HTTPS) 経由でリポジトリからパッケージを取得します (apt-transport-https )。次に、コマンドは必要な依存関係 (gnupg2) をインストールします

このコマンドは、FTP プロトコル (curl) 経由でリポジトリからパッケージをフェッチします。 ) マシンに関する LSB (Linux Standard Base) 情報を表示します (lsb-release )。 LSB 情報により、マシンが互換性のある LSB バージョンを知ることができます。

sudo apt install apt-transport-https gnupg2 curl lsb-release -y

3. 以下の curl を実行します サーバーの開発者から GPG キーをインポートするコマンド (gpg.8115BA8E629CC074.key ) を APT キーリング (getenvoy-keyring.gpg) に )。この GPG キーにより、中間者攻撃ではなく、サーバーの公式バージョンを取得できます。

APT キーリングは、Envoy Proxy Server のリポジトリをインストールまたはアップグレードする前に、GPG を使用してリポジトリの署名をチェックします。

curl -sL 'https://deb.dl.getenvoy.io/public/gpg.8115BA8E629CC074.key' | sudo gpg --dearmor -o /usr/share/keyrings/getenvoy-keyring.gpg

以下のように、GPG キーが正しくインポートされている場合、コマンドは何も出力しません。

4. echo を実行します。 以下のコマンドを実行して、GPG キーが有効で信頼できるものであることを確認します (sha256sum --check )。 key_ring を置き換えます 開発者の公開鍵リングを使用します。

echo key_ring /usr/share/keyrings/getenvoy-keyring.gpg | sha256sum --check

以下に示すように、キーは有効であり、使用しても問題ありません。

5. 以下の echo を実行します Envoy Proxy Server の公式リポジトリを追加するコマンド (https://deb.dl.getenvoy.io/public/deb/ubuntu $(lsb_release -cs) main ) をマシンに送信します。このコマンドは、パッケージをダウンロードしてインストールする場所を APT に指示します。

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/getenvoy-keyring.gpg] https://deb.dl.getenvoy.io/public/deb/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/getenvoy.list

dl.getenvoy.io/public/deb/ubuntu が表示されます サーバーがホストされている場所であり、フォーカル リリースにあることを示す、以下に示す出力の文字列 チャネル。この出力は、サーバーのリポジトリがマシンに追加されたことを確認します。

6. 次に、apt update を再実行します。 コマンドを使用して、マシンのリポジトリから最新のパッケージ情報を取得します。

sudo apt update -y

7. apt-cache policy を実行します 以下のコマンドを実行して、マシンのリポジトリからサーバーをインストールできることを確認します。

sudo apt-cache policy

以下では、リリース チャネル (focal チャネル) からサーバーを ubuntu マシンにインストールできることを確認できます。 ).

8. 最後に、apt install を実行します。 以下のコマンドでサーバーをインストールします (getenvoy-envoy )。

sudo apt install getenvoy-envoy -y

Envoy プロキシ サーバーの実行

Envoy Proxy Server をインストールしましたが、それがどのように機能するかわかりませんか?端末からデモ インスタンスを実行します。

1. envoy --version を実行します コマンドを使用して、マシンで実行されているサーバーのバージョンを確認します。

envoy --version

サーバーを正しくインストールすると、端末にバージョンが表示されます。このデモでは、バージョンは 1.18.2 ですが、実際のバージョンは異なる場合があります。

2. 次に、envoy --help を実行します。 コマンドを使用して、Envoy Proxy Server の実行時に使用できるすべてのオプションを一覧表示します。

envoy --help

以下の出力にリストされているほとんどのオプションを使用して、サーバーの動作を表示または変更できます。

3. wget を実行します 以下のコマンドで envoy-demo.yaml という名前のデモ構成をダウンロードします サーバーの Web サイトからのファイル。このファイルを使用してデモを開始します。

wget https://www.envoyproxy.io/docs/envoy/latest/_downloads/92dcb9714fb6bc288d042029b34c0de4/envoy-demo.yaml

envoy-demo.yaml ファイルの内容は次のようになります。このファイルは、ポート 10000 で HTTP 要求を処理するために、着信接続 (0.0.0.0) をリッスンするようにサーバーに指示します。

4. 次に、以下のコマンドを実行して、サーバーに構成 (-c envoy-demo.yaml) を読み取るように指示します。 ) ファイルで、インスタンスを開始します。

envoy -c envoy-demo.yaml

5. 次に、以下のコマンドを実行して、システムで実行中のすべてのプロセスを確認します (ps -ef )、Envoy Proxy Server が実行されていることを確認します (grep envoy) )。

ps -ef | grep envoy

以下の出力に、Envoy Proxy Server プロセスがリストされていることがわかります。この時点で、Envoy Proxy Server はポート 10000 でリクエストとプロキシをリッスンします。

6. netstat を実行します 以下のコマンドで、Envoy Proxy Server がポート 10000 をリッスンしているかどうかを確認します .

sudo netstat -tulpn | grep :10000

以下に、Envoy Proxy Server の構成に使用したポート番号 (10000) を示します。

7. ufw を実行します。 以下のコマンドでポート 10000 を開きます ファイアウォールで。サードパーティのファイアウォールを使用している場合は、コマンドを調整して、プロキシ サーバーの対応するポートを開く必要がある場合があります。

以下のコマンドは、ポート 10000 からの着信接続のみをリッスンするため、サーバーを保護するファイアウォール ルールを追加します。

sudo ufw allow 10000/tcp

8. ufw status を実行します コマンドを実行して、ファイアウォールのステータスを確認し、Envoy Proxy Server ポートが開いていることを確認してください。

sudo ufw status verbose

以下の出力は、Envoy Proxy Server のポート (10000) がファイアウォールで開いていることを確認します。

9. 最後に、curl を実行します。 以下のコマンドを実行して、Envoy Proxy Server が意図したとおりにプロキシ/動作しているかどうかを確認します。

curl -v localhost:10000

以下の Envoy Proxy からのデフォルトのウェルカム ページを確認できるように、予想どおり、curl コマンドは Envoy Proxy Server によってプロキシされます。

結論

このチュートリアルでは、Ubuntu マシンに Envoy Proxy Server をインストールして実行する方法を学習しました。 Envoy Proxy Server のポート (10000) を開くためのファイアウォール ルールの追加についても触れました。 )、Envoy Proxy Server が完全に機能することを確認しました。

この時点で、完全に機能するプロキシ サーバーが完成し、それを使用してアプリケーションのトラフィックをプロキシできるようになりました。

それでは、この新たな知識を活用して、Envoy Proxy Server を使用してスケーラブルで可用性の高いプロキシ インフラストラクチャをセットアップしてみませんか?


Linux
  1. RHEL7Linuxサーバーでタイムゾーンを変更する方法

  2. リバースプロキシとしてNginxを使用してUbuntu16.04にOdoo10をインストールする方法

  3. LocateをFedoraサーバーにインストールする方法

  1. 例でethtoolコマンドを使用する方法

  2. リバースプロキシとしてNginxを使用してUbuntu16.04にOdoo11をインストールする方法

  3. Minicondaを使用してPythonアプリケーションをDocker化する方法

  1. 例を使用してLinuxでIPコマンドを使用する方法

  2. Linuxエイリアスコマンド:例で使用する方法

  3. GlanceコマンドでLinuxシステムを監視する方法