Назад | Перейти на главную страницу

Nginx + Tomcat proxyName для дополнительных прокси

Я хотел бы настроить Tomcat proxyName для двух доменов (jira.firstdomain.com, jira.seconddomain.com), проксируемых nginx.

поэтому для первого домена у меня есть эта конфигурация в 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;
    }
}

И эта конфигурация в server.xml 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"/>

Я также хотел бы указать свой второй домен на tomcat. Что мне понадобится?

  1. Создать аналогичную конфигурацию для nginx?
  2. Создать второй соединитель в tomcat, но с другими портами и proxyName, установленными на jira.seconddomain.com?

Или есть настройка попроще?

Спасибо

Просто добавьте его в server_name

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

Конечно, это верно, если вы хотите, чтобы он указывал на один и тот же экземпляр JIRA.

Вы можете безопасно удалить proxyName="jira.firstdomain.com" от разъема, и он будет работать, пока у вас есть proxy_set_header Host $host;.

Вы также можете удалить proxy_set_header X-Forwarded-Host $host; и proxy_set_header X-Forwarded-Server $host; из nginx тоже.

Для SSL вам либо нужен сертификат с альтернативными именами, либо вам нужно создать несколько блоков сервера.