グーグルを試してみましたが、これら2つを比較した記事は2005年から2002年までだけでした。実行中のプロジェクトでJiraを実行する最初のTomcatインスタンスをセットアップしただけです。これをポート80とApacheを介してプロキシしたいと思います。私の知る限り、mod_proxyを使用してトラフィックを簡単に転送できます。 mod_jkを使用した場合の違いは何ですか?これらの2つのmodの間にパフォーマンス/セキュリティの違いはありますか?誰かがapacheを介して転送を設定するためのヒント/経験がありますか?私はDebianLennyを実行しています。
mod_proxy_http
を使用しない限り、JIRAはTomcatをApacheの背後に置くことを公式にサポートしていません。推奨される構成は次のようになります
/etc/httpd/vhosts.d/jira.company.com.conf
...
ProxyPreserveHost On
<Location />
ProxyPass http://localhost:8080/
</Location>
...
/opt/j2ee/domains/company.com/jira/Tomcat/conf/server.xml
...
<Connector address="localhost" port="8080" URIEncoding="UTF-8"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
proxyName="jira.company.com" proxyPort="80"
disableUploadTimeout="true" />
...
これでhttp
がうまくいくはずです。https
の例が必要な場合はお知らせください。
免責事項:私は現在アトラシアンの従業員ですが、JIRAチームで働いていません
どちらの方法も、ApacheからTomcatにリクエストを転送します。 mod_proxyは、私たち全員が愛していることを知っているHTTPを使用します。 mod_jkはバイナリプロトコルAJPを使用します。 mod_jkの主な利点は次のとおりです。
わずかな欠点は、AJPが固定サイズのチャンクに基づいており、長いヘッダーで破損する可能性があることです。特に、パラメーターの長いリストを含むURLを要求しますが、8KのURLパラメーターを持つことはめったにありません。 (それはあなたがそれを間違っていたことを示唆するでしょう。:))
Mod_proxy_ajpの存在により、位置が少し複雑になっています。それらの間では、mod_jkは2つのうちでより成熟していますが、mod_proxy_ajpは他のmod_proxyモジュールと同じフレームワークで動作します。私はまだmod_proxy_ajpを使用していませんが、mod_jkにはApacheの外部での構成が含まれるため、将来的に使用することを検討します。
選択肢があれば、パフォーマンスの面よりも、主に2番目に述べた利点のためにAJPベースのコネクタを好みます。もちろん、Atlassianがmod_proxy_http以外のものをサポートしていない場合、それは多少手を縛りますが、mod_jkはJIRAで機能します。
はい、いくつかの違いがあります。ただし、どちらを使用するかは、アプリケーションによって異なります。
例として、mod_proxyは通常のリバースプロキシとして機能し、通常のヘッダーのみを転送しますが、mod_jkは通常のヘッダーだけでなく特定のヘッダーも転送する特別なコネクタとして機能しますその他の環境変数。 scgiおよびfastcgiコネクタに直喩を描くことができます。
JSPを操作するためには、JSPが設計されたmod_jkを使用する必要があります。通常のWebサーバーにのみ転送する場合はmod_proxyのみを使用します(その背後にある他のajpコネクタを起動する可能性があります)。
[front Apache]---proxy---[back Apache]---ajp---[Tomcat]
|
+--------- ajp----[Tomcat]
お役に立てれば。
mod_proxyは、通常のhttpコネクタを使用してTomcatへのすべてのリクエストを真に「プロキシ」します。
mod_jkは、通常のTomcat httpコネクタとは別のTomcatサーバーへの「ajp13」接続を開き、トラフィックをそのように渡します。