Nginx + Tomcat proxyName para mais proxies

1

Gostaria de configurar o proxyName do tomcat para dois domínios (jira.firstdomain.com, jira.seconddomain.com) com proxy do nginx.

para o primeiro domínio eu tenho essa configuração no nginx

upstream jira {
    server 127.0.0.1:8080;
}

proxy_cache_path        /var/run/nginx-cache levels=1:2 keys_zone=nginx-cache:50m max_size=50m inactive=1440m;
proxy_temp_path         /var/run/nginx-cache/tmp;

server {
    server_name jira.firstdomain.com;
    listen 80;
    access_log /var/log/nginx/jira.log combined;
    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Authorization "";

        set $do_not_cache 0;

        if ($request_uri ~* ^(/secure/admin|/plugins|/secure/project)) {
                set $do_not_cache 1;
        }

        proxy_cache nginx-cache;
        proxy_cache_key "$scheme://$host$request_uri";
        proxy_cache_bypass $do_not_cache;
        proxy_cache_valid 1440m;
        proxy_cache_min_uses 1;
        add_header X-Proxy-Cache $upstream_cache_status;
    }

    location ~*/(feed)$ {
        proxy_ignore_headers Cache-Control;
    }
}

E essa configuração no server.xml do tomcat

<Connector port="8080"
     maxThreads="150"
     minSpareThreads="25"
     connectionTimeout="20000"

     enableLookups="false"
     maxHttpHeaderSize="8192"
     protocol="HTTP/1.1"
     useBodyEncodingForURI="true"
     redirectPort="8443"
     acceptCount="100"
     disableUploadTimeout="true"
                        
     service="http"
     proxyName="jira.firstdomain.com"
     proxyPort="80"/>

Gostaria de apontar meu segundo domínio para o tomcat também. O que eu preciso?

  1. Crie uma configuração semelhante para o nginx?
  2. Crie o segundo conector no tomcat, mas com outras portas e proxyName definido como jira.seconddomain.com?

Ou existe alguma configuração mais simples?

Obrigado

    
por bilak 03.12.2015 / 13:29

1 resposta

0

Basta adicioná-lo ao server_name

server_name jira.firstdomain.com jira.seconddomain.com;

Claro, isso é verdade, desde que você queira apontar para a mesma instância do JIRA.

Você pode remover com segurança proxyName="jira.firstdomain.com" do conector e ele funcionará, contanto que você tenha proxy_set_header Host $host; .

Você também pode remover proxy_set_header X-Forwarded-Host $host; e proxy_set_header X-Forwarded-Server $host; do nginx também.

Para o SSL, você precisa de um certificado com nomes alternativos, ou precisa criar vários blocos de servidor.

    
por 03.12.2015 / 13:33

Tags