6.2. Squid リバースプロキシーのインストール


Squid サーバーをインストールし、リバースプロキシーモードを使用してロードバランサーとして使用します。
# yum install squid
Copy to Clipboard Toggle word wrap
SSL 証明書を生成し、Satellite CA でそれらに署名する必要もあります。最も簡単な方法としては、CA がすでに利用可能であるため、Satellite サーバーで rhn-ssl-tool を使用し、サーバー証明書を生成することができます。
Satellite SSL Maintenance Tool (rhn-ssl-tool) は Satellite SSL キーおよび証明書を生成し、これらを保持します。また、これらのキーおよび証明書をデプロイする際に使用する RPM も生成します。このツールは Satellite 環境での使用が意図されていますが、Satellite 外でも使用することができます。
この例では、ロードバランサーの名前は lb.example.com です。ホスト名をデプロイメントに適用される名前に置き換え、適切なビルドディレクトリーを入力します。以下のコマンドを Satellite サーバーで実行します。
$ rhn-ssl-tool --gen-server --set-hostname=lb.example.com -d /root/ssl-build
Copy to Clipboard Toggle word wrap
上記で使用される rhn-ssl-toollb.example.com の SSL ファイルを作成し、これらのファイルを /root/ssl-build ディレクトリーに保存します。server.crtserver.key、および RHN-ORG-TRUSTED-SSL-CERT CA 証明書を、dhcp ディレクトリーから lb.example.com ロードバランサーにコピーします。これらのファイルは、実際のロードバランサーの SSL をセットアップするために使用されます。RHN-ORG-TRUSTED-SSL-CERT 証明書により、ロードバランサーとプロキシー間の SSL 通信が可能になります。
lb.example.com サーバーで /etc/squid/squid.conf ファイルを変更し、リバースプロキシーモードをセットアップします。

例6.1 リバースプロキシーモードのセットアップ

#
# SSL configuration
#

# Ensure you enter each configuration directive on a single line

acl is_ssl port 443

https_port 443 cert=/etc/pki/tls/certs/lb.crt key=/etc/pki/tls/certs/lb.key accel vhost name=proxy_ssl

cache_peer proxya.example.com parent 443 0 no-query originserver round-robin ssl name=proxya.example.com sslcafile=/etc/pki/tls/certs/squid-ca.crt

cache_peer proxyb.example.com parent 443 0 no-query originserver round-robin ssl name=proxyb.example.com sslcafile=/etc/pki/tls/certs/squid-ca.crt

cache_peer_access proxya.example.com allow is_ssl
cache_peer_access proxya.example.com deny !is_ssl
cache_peer_access proxyb.example.com allow is_ssl
cache_peer_access proxyb.example.com deny !is_ssl

http_access allow is_ssl

#
# Non-SSL configuration
#

# Ensure you enter each configuration directive on a single line

acl nonssl port 80

http_port 80 accel name=proxy_nonssl defaultsite=dhcp16.example.com

cache_peer 192.168.100.16 parent 80 0 no-query name=proxy_nonssl originserver

cache_peer_access proxy_nonssl allow nonssl
cache_peer_access proxy_nonssl deny !nonssl

http_access allow nonssl

sslpassword_program /bin/password.out
forwarded_for on
Copy to Clipboard Toggle word wrap
直前の例では、2 つのリバースプロキシーのセットアップについて説明しています。ポート 443 にはラウンドロビンモードで使用される 2 つのプロキシーがあります。要求は 2 つのプロキシー間で均等に共有されます。server.crt および server.key ファイルの名前はそれぞれ lb.crt および lb.key (「load balancer (ロードバランサー) の省略) に変更され、識別が容易になりました。Satellite CA 証明書の名前は squid-ca.crt に変更されます。cache_peer sslcafile オプションはこのファイルを参照します。
証明書を squid グループに追加します。
# chgrp squid /etc/pki/tls/certs/{lb.crt,lb.key,squid-ca.crt}
Copy to Clipboard Toggle word wrap
ファイルの詳細は以下のように表示されます。
-rw-r--r--. 1 root squid   5450 Aug 23 21:23 lb.crt
-rw-r--r--. 1 root squid   1675 Aug 23 21:23 lb.key
-rw-r--r--. 1 root squid   5363 Aug 22 14:19 squid-ca.crt
Copy to Clipboard Toggle word wrap
cache_peer ディレクティブはラウンドロビン形式で使用される 2 つのプロキシーをセットアップします。ロードバランサーがプロキシーと通信できるように CA 証明書を指定する必要があることに注意してください。また squid の acl is_ssl および cache_peer ディレクティブを使用して、ポート 443 のトラフィックのみがこれらのプロキシーにヒットするように設定されます。
defaultsite ディレクティブを使用して、ポート 80 のすべてのトラフィックが 1 つのプロキシーにリダイレクトされ、dhcp16.example.com プロキシーにデフォルト設定されます。Acls は ssl ポートと同様にセットアップされます。
sslpassword_program ディレクティブを使用すると、SSL キーのパスフレーズ (使用される場合、完了についての表示が出されます) を人の介入なしに起動時に squid に送信できます。password.out の内容は、SSL パスフレーズを echo する bash スクリプトです。forwarded_for ディレクトリーは forwarded_for ヘッダーをプロキシーに送信するようにロードバランサーを設定します。

重要

/etc/squid/squid.conf を編集し、squid が通常リッスンするデフォルトポートの 3128 をコメントアウトします。
# Squid normally listens to port 3128
# http_port 3128
Copy to Clipboard Toggle word wrap
設定の変更後に squid を再起動します。
# service squid restart
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat