Show Table of Contents
19.2. Squid プロキシー
19.2.1. Squid プロキシーのインストールと設定
概要
本セクションでは、ユーザーポータルへの Squid プロキシーのインストールと設定方法を説明します。Squid プロキシーサーバーは、頻繁に閲覧されるコンテンツをキャッシュして帯域幅を削減し、応答時間を向上させるコンテンツアクセラレーターとして使用されます。
手順19.4 Squid プロキシーの設定
- Squid プロキシーの HTTPS ポート用のキーペアと証明書を取得します。このキーペアは、別の SSL/TLS サービス用のキーペアを取得するのと同じ方法で取得することができます。キーペアは 2 つの PEM ファイルの形式となっており、これらのファイルには秘密鍵と署名済み証明書が含まれています。この手順では、これらのファイル名を
proxy.keyおよびproxy.cerと仮定します。注記
キーペアと証明書は、engine の認証局を使用して生成することもできます。プロキシーに秘密鍵と証明書が設定されており、engine の認証局で生成しない場合は、次の手順は省略してください。 - プロキシーのホスト名を選択し、次にプロキシー用の証明書の識別名のその他のコンポーネントを選択します。
注記
engine 自体が使用しているのと同じ国や組織名を使用するのが適切なプラクティスです。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
- プロキシーマシンにログインして、証明書署名要求 (CSR) を生成します。
# 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には、特別な保護は必要ありません。 - 署名済みの証明書を生成するには、プロキシーのマシンからManager のマシンに証明書署名要求ファイルをコピーします。
# scp proxy.req engine.example.com:/etc/pki/ovirt-engine/requests/.
- 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 日) 有効になります。証明書の失効期限を短く設定することもできます。 - 生成した証明書ファイルは
/etc/pki/ovirt-engine/certsディレクトリーにあり、proxy.cerという名前がついているはずです。プロキシーマシンで、Manager のマシンから、現在のディレクトリーにこのファイルをコピーします。# scp engine.example.com:/etc/pki/ovirt-engine/certs/proxy.cer .
proxy.keyとproxy.cerの両ファイルがプロキシーマシン上に存在していることを確認します。# ls -l proxy.key proxy.cer
- プロキシーマシンに Squid プロキシーサーバーパッケージをインストールします。
# yum install squid
- 秘密鍵と署名済みの証明書をプロキシーがアクセスできる場所 (例:
/etc/squidディレクトリー) に移動します。# cp proxy.key proxy.cer /etc/squid/.
squidユーザーがこれらのファイルを読み込むことができるようにパーミッションを設定します。# chgrp squid /etc/squid/proxy.* # chmod 640 /etc/squid/proxy.*
- Squid プロキシーは engine が使用する証明書を検証する必要があります。Manager の証明書をプロキシーマシンにコピーします。以下の例では、ファイルパスに
/etc/squidを使用します。# scp engine.example.com:/etc/pki/ovirt-engine/ca.pem /etc/squid/.
注記
デフォルトの CA 証明書は、Manager のマシンの/etc/pki/ovirt-engine/ca.pemにあります。 squidユーザーがこれらの証明書ファイルを読み込むことができるようにパーミッションを設定します。# chgrp squid /etc/squid/ca.pem # chmod 640 /etc/squid/ca.pem
- SELinux が Enforcing モードの場合は、semanage ツールを使用してポート 443 のコンテキストを変更します。これにより、Squid がポート 443 を使用できるようになります。
# yum install policycoreutils-python # semanage port -m -p tcp -t http_cache_port_t 443
- 既存の 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 cache_peer_access engine allow all ssl_bump allow all http_access allow all
- Squid プロキシーサーバーを再起動します。
# service squid restart
- 以下のような完全な URL でユーザーポータルに接続します。
https://proxy.example.com/UserPortal/org.ovirt.engine.ui.userportal.UserPortal/UserPortal.html
注記
https://proxy.example.com/UserPortalなどの短縮 URL は機能しません。このような短縮 URL は、302 レスポンスコードとロケーションヘッダーを使用して、アプリケーションサーバーによって長い URL にリダイレクトされます。Red Hat Enterprise Linux および Fedora の Squid は、これらのヘッダーの書き換えはサポートしていません。
注記
デフォルトでは、Squid プロキシーはアイドル状態が 15 分経過すると接続を終了します。アイドル状態の接続を切断するまでの時間を延長するには、
squid.conf の read_timeout オプションを調整します (例: read_timeout 10 hours)。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.