E.2. Squid プロキシー


E.2.1. Squid プロキシーのインストールおよび設定

本セクションでは、VM ポータルに Squid プロキシーをインストールして設定する方法を説明します。Squid プロキシーサーバーは、コンテンツアクセラレーターとして使用されます。頻繁にビューされたコンテンツをキャッシュし、帯域幅を削減し、応答時間を改善します。

Squid プロキシーの設定

  1. Squid プロキシーサーバーの HTTPS ポートのキーペアと証明書を取得します。このキーペアは、別の SSL/TLS サービスのキーペアを取得するのと同じ方法で取得できます。キーペアは、秘密キーと署名付き証明書を含む 2 つの PEM ファイルの形式です。この手順では、proxy.key および proxy.cer という名前が付けられていることを前提としています。

    注記

    キーペアと証明書は、エンジンの認証局を使用して生成することもできます。プロキシーの秘密鍵および証明書がすでにあり、エンジン認証局でそれを生成したくない場合は、次の手順にスキップしてください。

  2. プロキシーのホスト名を選択します。次に、プロキシーの証明書の識別名の他のコンポーネントを選択します。

    注記

    エンジン自体が使用するのと同じ国と同じ組織名を使用することが推奨されます。Manager がインストールされているマシンにログインし、次のコマンドを実行して、この情報を見つけます。

    # openssl x509 -in /etc/pki/ovirt-engine/ca.pem -noout -subject

    このコマンドは次のようなものを出力します。

    subject= /C=US/O=Example Inc./CN=engine.example.com.81108

    ここでの関連部分は/C=US/O=Example Inc. です。これを使用して、プロキシーの証明書の完全な識別名を作成します。

    /C=US/O=Example Inc./CN=proxy.example.com
  3. プロキシーマシンにログインし、証明書署名要求を生成します。

    # openssl req -newkey rsa:2048 -subj '/C=US/O=Example Inc./CN=proxy.example.com' -nodes -keyout proxy.key -out proxy.req
    重要

    証明書の識別名の周りにある引用符を含める必要があります。-nodes オプションは、秘密鍵が暗号化されていないことを保証します。これは、プロキシーサーバーを起動するためにパスワードを入力する必要がないことを意味します。

    このコマンドは、proxy.key および proxy.req の 2 つのファイルを生成します。proxy.key は秘密鍵です。このファイルを安全に保持します。proxy.req は証明書署名要求です。proxy.req には、特別な保護は必要ありません。

  4. 署名付き証明書を生成するには、証明書署名要求ファイルをプロキシーマシンからマネージャーマシンにコピーします。

    # scp proxy.req engine.example.com:/etc/pki/ovirt-engine/requests/.
  5. Manager マシンにログインし、証明書に署名します。

    # /usr/share/ovirt-engine/bin/pki-enroll-request.sh --name=proxy --days=3650 --subject='/C=US/O=Example Inc./CN=proxy.example.com'

    これにより、証明書が署名され、10 年間 (3650 日) 有効になります。必要に応じて、証明書の有効期限が早くなるように設定します。

  6. 生成された証明書ファイルは /etc/pki/ovirt-engine/certs ディレクトリーで利用可能で、proxy.cer という名前を指定する必要があります。プロキシーマシンで、このファイルを Manager マシンから現在のディレクトリーにコピーします。

    # scp engine.example.com:/etc/pki/ovirt-engine/certs/proxy.cer .
  7. proxy.keyproxy.cer の両方がプロキシーマシンに存在することを確認します。

    # ls -l proxy.key proxy.cer
  8. Squid プロキシーサーバーパッケージをプロキシーマシンにインストールします。

    # yum install squid
  9. 秘密鍵と署名済み証明書を、プロキシーがアクセスできる場所 (例: /etc/squid ディレクトリー) に移動します。

    # cp proxy.key proxy.cer /etc/squid/.
  10. squid ユーザーが、これらのファイルを読み取れるようにパーミッションを設定します。

    # chgrp squid /etc/squid/proxy.*
    # chmod 640 /etc/squid/proxy.*
  11. Squid プロキシーは、エンジンが使用する証明書を検証する必要があります。Manager 証明書をプロキシーマシンにコピーします。この例では、ファイルパス /etc/squid を使用します。

    # scp engine.example.com:/etc/pki/ovirt-engine/ca.pem /etc/squid/.
    注記

    デフォルトの CA 証明書は、Manager マシンの /etc/pki/ovirt-engine/ca.pem にあります。

  12. squid ユーザーが、証明書ファイルを読み取れるようにパーミッションを設定します。

    # chgrp squid /etc/squid/ca.pem
    # chmod 640 /etc/squid/ca.pem
  13. SELinux が Enforcing モードの場合は、semanage ツールを使用して、ポート 443 のコンテキストを変更して、Squid がポート 443 を使用できるようにします。

    # yum install policycoreutils-python
    # semanage port -m -p tcp -t http_cache_port_t 443
  14. 既存の Squid 設定ファイルを以下に置き換えます。

    https_port 443 key=/etc/squid/proxy.key cert=/etc/squid/proxy.cer ssl-bump defaultsite=engine.example.com
    cache_peer engine.example.com parent 443 0 no-query originserver ssl sslcafile=/etc/squid/ca.pem name=engine login=PASSTHRU
    cache_peer_access engine allow all
    ssl_bump allow all
    http_access allow all
  15. Squid プロキシーサーバーを再起動します。

    # systemctl restart squid.service
注記

デフォルト設定の Squid プロキシーは、15 分のアイドル時間後に接続を終了します。Squid Proxy がアイドル状態の接続を終了するまでの時間を増やすには、squid.confread_timeout オプションを調整します (例: read_timeout 10 hours).。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.