SSL を使用して NGINX のバックグラウンドで Confluence を実行する

このページでは、Confluenceの リバース プロキシ としてNGNIXをセットアップする方法について説明します。 

このページに記載されている構成は、次のシナリオの結果を示しています。

  • NGINX との外部クライアント接続が SSL で保護されている。NGINX と Confluence Server の間の接続が保護されていない。
  • Confluence Server と NGINX が同じマシン上で実行されている。

On this page

実行中の NGINIX インスタンスが存在することを想定しています。そうでない場合は、NGINX のダウンロードやインストールについて「NGINX ドキュメント」をご確認ください。サーバー マシン上に SSL 証明書をインストールする必要があります。WebSockets (1.3 以降) をサポートする NGINX バージョンが必要です。 

アトラシアン サポート は、NGINX の統合をサポートしていません。NGINX のサポートは、answers.atlassian.com のアトラシアン コミュニティや、Atlassian Expert から得ることができます。

ステップ 1: コンテキスト パスの設定

(warning) コンテキスト パスを使用せずに Confluence にアクセスしたい場合 ( www.example.com  など)またはサブドメイン経由 (confluence.example.com)  でアクセスする場合は、このステップをスキップします。

Tomcat の Confluence のアプリケーション パス (ホスト名とポートに続く部分) を設定します。<installation-directory>/conf/server.xml を編集し、"Context" 定義を見つけます。

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

次のように変更します。

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

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

Confluence を再起動し、http://example:8090/confluence にアクセス可能かどうかを確認します。

ステップ 2: Tomcat コネクタを設定する

Next, in the same <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"/>

最後の行を次のように追加します。

<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" 
                proxyName="www.example.com" proxyPort="443" scheme="https" secure="true" />

protocol と proxyName に正しい値が含まれていることを確認します。 

ステップ 3: NGINX の構成

次の例のように、NGINX でリッスン サーバーを指定する必要があります。NGINX 構成に以下を追加します。  

サーバー名、および SSL 証明書とキーの場所を置き換えます。 

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

server {
    listen www.example.com:80;
    server_name www.example.com;
 
    listen 443 default ssl;
    ssl_certificate     /usr/local/etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /usr/local/etc/nginx/ssl/nginx.key;
 
    ssl_session_timeout  5m;
 
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-
POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-
AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-
AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-
ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-
RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-
SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-
SHA:!DSS';
    ssl_prefer_server_ciphers   on;

    location /confluence {
        client_max_body_size 100m;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8090/confluence;
    }
    location /synchrony {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8091/synchrony;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
    }
}

詳細は、http://nginx.org/en/docs/http/ngx_http_proxy_module.html を参照してください。

Note: do not include ssl on; if you are configuring SSL and Confluence on the same server as in this example.

If you're not sure what to include for ssl_ciphershttps://mozilla.github.io/server-side-tls/ssl-config-generator/ is a useful resource.

"413 Request Entity Too Large" エラーが発生した場合、/confluence ロケーション ブロックの client_max_body_size が Confluence の 最大添付ファイル サイズと一致していることを確認します。また、大きいサイズのページを編集する際にエラーが発生した場合/synchrony ロケーション ブロックの client_max_body_size を増やす必要がある場合があります。


サブドメイン経由で Confluence にアクセスしている場合...

サブドメイン経由で Confluence にアクセスしている場合、config は次のようになります。

server {
    listen confluence.example.com:80;
    server_name confluence.example.com;
 
    listen 443 default ssl;
    ssl_certificate     /usr/local/etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /usr/local/etc/nginx/ssl/nginx.key;
 
    ssl_session_timeout  5m;
 
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-
POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-
AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-
AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-
ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-
RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-
SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-
SHA:!DSS';
    ssl_prefer_server_ciphers   on;

    location / {
        client_max_body_size 100m;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8090;
    }
    location /synchrony {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8091/synchrony;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
    }
}


ステップ 4: Confluence と NGINX を再起動する

  1. すべての変更内容を反映するには、 Confluence と NGINX を再起動します。  
  2. 以前に設定したコンテキスト パスを含むように Confluence のベース URL を更新する - サーバー ベース URL の設定を参照してください。 
最終更新日 2018 年 6 月 5 日

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

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