Executando o Confluence por trás do NGINX com SSL

Esta página descreve como configurar o NGINX como proxy reverso para o Confluence. 

A configuração descrita nesta página resulta em uma situação na qual:

  • Conexões de cliente externo com NGINX são protegidas com o uso de SSL. Conexões entre NGINX e Confluence Server não são protegidas.
  • Confluence Server e NGINX são executados na mesma máquina.

Nesta página

Partimos do princípio de que você já tem uma instância operacional do NGINX. Caso não tenha, consulte a documentação do NGINX para obter instruções sobre o download e a instalação do NGINX. Certificados SSL precisam ser instalados na máquina do servidor.  Será necessária uma versão do NGINX que suporte WebSockets (1.3 ou mais recente). 

Observe que o Suporte da Atlassian não abrange a integração com o NGINX. Assistência com o NGINX pode ser obtida por meio da comunidade Atlassian em answers.atlassian.com ou com um Especialista Atlassian.

Passo 1: Definir o caminho de contexto

Configure seu caminho de aplicação Confluence (a parte após o nome de host e porta) no Tomcat.  Edite <installation-directory>/conf/server.xml, localize a definição "Context":

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

e altere para:

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

Reinicie o Confluence e verifique se é possível acessá-lo em http://example:8090/confluence

Passo 2. Configurar o conector do Tomcat

No mesmo arquivo <installation-directory>/conf/server.xml, localize o seguinte segmento de código:

<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"/>

E adicione a última linha, conforme a seguir:

<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"/>

Nota: não inclua secure="true" neste conector.   Certifique-se de ter incluído os valores corretos para protocolproxyName

Passo 3: Configure o NGINX

Você precisará especificar um servidor receptor no NGINX, conforme no exemplo abaixo. Adicione o seguinte na configuração do seu NGINX.  

Substitua o nome do seu servidor e o local do seu certificado SSL e chave. 

Neste exemplo, os usuários conectarão ao Synchrony, que é necessário para edição colaborativa, diretamente.

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  SSLv2 SSLv3 TLSv1;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers   on;

    location /confluence {
        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";
    }
}

Consulte http://nginx.org/en/docs/http/ngx_http_proxy_module.html para obter mais informações.

Nota: não inclua ssl on; se estiver configurando o SSL e o Confluence no mesmo servidor, como neste exemplo.

Passo 4: Reinicie o Confluence e o NGINX

  1. Reinicie o Confluence e o NGINX para que todas as alterações entrem em vigor.  
  2. Atualize o URL base do Confluence para incluir o caminho de contexto definido anteriormente – consulte Configurando o URL base do servidor
Last modified on Mar 9, 2017

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.