Apache で mod_jk を使用する

  • The preferred configuration is Using Apache with mod_proxy. Together with mod_proxy_html this allows complex URL rewriting to deal with different application paths on the web server and the application server.
  • このページは Confluence 自体ではなく、Apache の設定について記述しています。アトラシアンはこの構成による Confluence をサポートしていますが、Apache によって問題をデバッグできると保証することはできません。この資料は情報提供のみを目的としているため、自己責任で使用されるようご注意ください。

 

はじめに

The Apache web server is often used in front of an application server to improve performance in high-load environments. Mod_jk allows request forwarding to an application via a protocol called AJP. Configuration of this involves enabling mod_jk in Apache, configuring a AJP connector in Confluence, and directing Apache to forward certain paths to the application server via mod_jk.

Mod_jk is sometimes preferred to mod_proxy because AJP is a binary protocol, and because some site administrators are more familiar with it than with mod_proxy.

以下の設定は、Confluence インスタンスが、アプリケーション サーバーと web サーバーで同じパスが適用されていることを前提としています。例:

外部からアクセス可能な(web サーバーの) URL

http://www.example.com/confluence/

アプリケーション サーバーの URL (HTTP)

http://app-server.internal.example.com:8090/confluence/

1 コンテキストパスを設定する

Tomcat で Confluence のアプリケーション パス (ホスト名とポートに続く部分) を設定します。この例では、コンテキスト パスは /confluence になります。 

Edit <installation-directory>conf/server.xml, locate the "Context" definition:

<Context path="" docBase="../confluence" debug="0" reloadable="true">

次のように変更します。

<Context path="/confluence" docBase="../confluence" debug="0" reloadable="true">

Restart Confluence, and check you can access it at http://example:8090/confluence.

2 リダイレクションのURLの設定

First, set the URL for redirection. In your Confluence <installation-directory>conf/server.xml file, locate this code segment:

<Connector port="8090" connectionTimeout="20000" redirectPort="8443"
                maxThreads="48" minSpareThreads="10"
                enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8"
                protocol="org.apache.coyote.http11.Http11NioProtocol" />

Change the protocol to AJP and then add the proxyName, proxyPort and Scheme as follows:

<Connector port="8090" connectionTimeout="20000" redirectPort="8443"
                maxThreads="48" minSpareThreads="10"
                enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8"
                protocol="org.apache.coyote.ajp.AjpNioProtocol" 
                proxyName="www.example.com" proxyPort="80" scheme="http" />

If you're using SSL, change the scheme attribute to your Connector tag to scheme="https".

3 Configure mod_jk in Apache

The standard distribution of Apache does not include mod_jk. You need to download it from the JK homepage and put the mod_jk.so file in your Apache modules directory.

次に、以下を httpd.conf に直接追加するか、他のファイルからインクルードします。

# Put this after the other LoadModule directives
LoadModule jk_module modules/mod_jk.so

# Put this in the main section of your configuration (or desired virtual host, if using Apache virtual hosts)
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info

JkMount /confluence worker1
JkMount /confluence/* worker1

workers.properties の設定

「workers.properties」というファイルを新しく作成し、Apache の conf ディレクトリに配置します(workers.properties は上記の設定ファイルの1つです)。

worker.list=worker1

worker.worker1.host=app-server.internal.example.com
worker.worker1.port=8090
worker.worker1.type=ajp13

mod_jk コネクタのパフォーマンスの改善

高負荷環境におけるもっとも重要な設定は、Tomcat AJP コネクタが使用するプロセッサ スレッド数です。デフォルトでは、これは200になっていますが、Apache の maxThreads (デフォルトでは256)と一致するように増やす必要があります。

<Connector port="8090" minSpareThreads="5" maxThreads="256" protocol="org.apache.coyote.ajp.AjpNioProtocol" />

All the configuration parameters for the AJP connector are covered in the Tomcat documentation.

UTF-8 互換性の保証

ファイル名に非アスキー文字を含む添付ファイルをダウンロードする際に問題が発生した場合、以下を Apache の設定に追加します。

JkOptions +ForwardURICompatUnparsed

These settings are discussed further on Configuring Tomcat's URI encoding.

詳細情報

The Tomcat JK website has complete documentation on workers.properties and Apache configuration. You can also find information there on how to use mod_jk with IIS.

注: IIS プロキシ サーバーのアップロード ファイルの最大サイズは、デフォルトで 30MB です。より大きいファイルをアップロードする必要がある場合は、サーバー管理者に連絡してください。

最終更新日 2017 年 7 月 14 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.