Apache で mod_proxy を使用する

アトラシアンのアプリケーションはリバースプロキシの使用を許可します。しかし、アトラシアンのサポートはその設定に対してサポートの提供は行いません。つまり、アトラシアン はリバースプロキシに対するあらゆるサポートの提供を保証できません

設定に関してサポートが必要であれば、Atlassian Answers に質問をあげてください。

このページは、標準 Tomcat コンテナで実行する Confluence のプロキシリクエストに Apache HTTP Server 2.4 を使用するための考えられる方法の 1 つを説明します。同じ目的で NGINX を使用する方法を説明する追加ドキュメントもあります。

次のような場合、この構成を使用できます。

  • 既存の Apache ベースの web サイトがあり、Confluence を追加する場合 ( http://www.example.com/confluence など)。
  • 2 つ以上の Java アプリケーションがあり、それぞれが異なるポート上の独自のアプリケーション サーバーで実行し (例: http://example:8090/confluence および http://example:8080/Jira)、通常の HTTP ポート (80) (例: http://www.example.com/confluence および http://www.example.com/jira) で両方使用できます。これによって、各アプリケーションを個別に、再起動、管理、およびデバックすることができます。

注意:このページでは Confluence 自体ではなく、Apache の設定について説明しています。アトラシアンはこの設定による Confluence をサポートしますが、Apache に関する問題のデバッグを支援することについては保証できません。この資料は情報提供のみを目的としているため、自己責任で使用されるようご注意ください。

このページの内容:

基本設定

これらの例では、以下を使用します。

http://www.example.com/confluence - 希望の URL

http://example:8090 - 現在 Confluence がインストールされているホスト名とポート

http://example:8091 - ホスト名とポート Synchrony (共同編集を駆動するサービス)。既定値の設定:

/confluence - Confluence の希望のコンテキスト パス(ホスト名とポートの後の部分)

/synchrony - Synchrony のコンテキスト パス、共同編集を可能にするプロセス。

これらの URL を独自の URL に置き換える必要があります。

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

(warning) コンテキスト パスを使用せずに Confluence にアクセスしたい場合 ( www.example.com,  など)このステップをスキップします。

Set your Confluence application path (the part after hostname and port) in Tomcat.  In this example the context path will be /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">

この例では、コンテキスト パスとして /confluence を使用しています。/resources は Confluence によって使用されています。問題を防ぐため、コンテキスト パスとして使用することはできません。  

Confluence を再起動し、http://example:8090/confluenceにアクセス可能か確認してください。

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

Next, set the URL for redirection. In the same <installation-directory>conf/server.xml file, use the example connectors as a starting point.  

既定のコネクタをコメント アウトします (プロキシされないアクセス用)。 

手順について

In XML a comment starts with  <!-- and ends with -->, and is used to make sure only the relevant portions of the file are read by the application.

Add <!-- and --> around the default connector. It should now look like this.

<!--
========================================================
DEFAULT - Direct connector with no proxy, for unproxied HTTP access to Confluence.
========================================================
-->
<!--
<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"/>
-->

"HTTP - Proxying Confluence via Apache or Nginx over HTTP" ヘッダーの下に記載されているコネクタのコメントを解除します。   

手順について

To uncomment a section, remove the <!-- and --> surrounding the connector.

デフォルト コネクタをコメント アウトし、HTTP コネクタのコメントを外すと次のようになります。ヘッダーは引き続きコメント アウトされます。

<!--
========================================================
DEFAULT - Direct connector with no proxy, for unproxied HTTP access to Confluence.
========================================================
-->
<!--
<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"/>
-->
<!--
========================================================
HTTP - Proxying Confluence via Apache or Nginx over HTTP
========================================================
-->
<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"
   scheme="http" proxyName="<subdomain>.<domain>.com" proxyPort="80"/>

次の最後の行のように、ご利用の proxyName と proxyPort を挿入します。

<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"
   scheme="http" proxyName="www.example.com" proxyPort="80"/>

HTTPS を有効化する予定の場合、"HTTP - Proxying Confluence via Apache or Nginx over HTTP" 配下のコネクタを使用します。 


3 mod_proxy の設定

Use one of the examples below to edit your Apache http.conf file to proxy requests to the application server.

(warning) まだ有効化していない場合は、次の必要な Apache モジュールを有効化する必要があります。

  • mod_proxy
  • mod_proxy_http
  • proxy_wstunnel 
  • mod_rewrite

(proxy_wstunnel と mod_rewrite は Confluence 6.0 の新しい要件です)

The format of the http.conf file, and location of the modules may differ on your operating system. We recommend Windows users specify the absolute path to the module files.

例 1: コンテキストパスを使用した設定

ステップ 1 でコンテキストパスを設定し、この http://www.example.com/confluence などのコンテキスト パスを使用して Confluence にアクセスする場合はこの例を使用します。  

この例では、ユーザーは WebSockets 経由で直接、共同編集に必要な Synchrony に接続します。 

(warning) 構成での指令の順序は重要です。 

Apache HTTP server 2.4
# Put this after the other LoadModule directives
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module /usr/lib/apache2/modules/mod_proxy_wstunnel.so
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

# Put this in the main section of your configuration (or virtual host, if using Apache virtual hosts)
ProxyRequests Off
ProxyPreserveHost On

<Proxy *>
    Require all granted
</Proxy>

ProxyPass /synchrony http://<domain>:8091/synchrony
<Location /synchrony>
    Require all granted
    RewriteEngine on
    RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
    RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
    RewriteRule .* ws://<domain>:8091%{REQUEST_URI} [P]
</Location>
 
ProxyPass /confluence http://<domain>:8090/confluence
ProxyPassReverse /confluence http://<domain>:8090/confluence

<Location /confluence>
    Require all granted
</Location>

注:: Apache HTTP Server 2.2 と Confluence 6.0 以降を併用することはできません。SSL の使用を予定している場合は、バージョン 2.4.10 以降が必要となります。

例 2: コンテキスト パスなしの構成 

ステップ 1 をスキップし、この http://www.example.com などのコンテキストパスを使用せず Confluence にアクセスする場合はこの例を使用します。

以前の例のように、ユーザーは WebSockets 経由で直接、共同編集に必要な Synchrony に接続します。 

(warning) 構成での指令の順序は重要です。 

Apache HTTP server 2.4
# Put this after the other LoadModule directives
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module /usr/lib/apache2/modules/mod_proxy_wstunnel.so
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

# Put this in the main section of your configuration (or virtual host, if using Apache virtual hosts)
 
  ProxyRequests Off
  ProxyPreserveHost On
    
  RewriteEngine On
  RewriteCond %{REQUEST_URI} !^/synchrony
  RewriteRule ^/(.*) http://<domain>:8090/$1 [P]

  <Proxy *>
      Require all granted
  </Proxy>

  ProxyPass /synchrony http://<domain>:8091/synchrony

  <Location /synchrony>
      Require all granted
      RewriteEngine on
      RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
      RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
      RewriteRule .* ws://<domain>:8091%{REQUEST_URI} [P]
  </Location>

  ProxyPass / http://<domain>:8090
  ProxyPassReverse / http://<domain>:8090
   
  <Location />
      Require all granted
  </Location>

注:: Apache HTTP Server 2.2 と Confluence 6.0 以降を併用することはできません。SSL の使用を予定している場合は、バージョン 2.4.10 以降が必要です。 

4 Apache の再起動

これは新しい設定を有効するのに必要です。 Apache を再起動するには、次のコマンドを実行します。

sudo apachectl graceful

5HTTP 圧縮を無効にする

プロキシと Tomcat の両方で圧縮を実行すると、Jira などのアトラシアンの他のアプリケーションをと統合する際に問題が発生することがあります。「Confluence 内で HTTPレスポンスを圧縮する」を参照して、HTTP 圧縮を無効にしてください。

6Confluence の Base URL の変更

最後の段階では、Base URL に、プロキシ内で使用するアドレスを設定します。この例では、http://www.example.com/confluence です

SSL の追加

HTTPS を有効化する予定がある場合、「SSL と Apache を使用してアトラシアン アプリケーションを保護する」を参照して、HTTPS サンプル コネクタを選択していることを確認します。 

詳細情報

最終更新日 2018 年 6 月 5 日

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

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