@EatEn

Настройка cache/buff на nginx для нескольких одинаковых сайтов (java)?

Добрый день!

Есть vps с nginx-proxy на борту. У этой vps 2 сетевых интерфейса: один смотрит в интернет, другой в локалку (скажем так).
В локалке крутится много одинаковых сайтов (tomcat, java, postgres), но с разными данными. Каждый из сайтов доступен по своему домену. Конфиг доступа nginx сейчас таков:
1)
http->https
server {
        listen 80 default_server;
        server_name _;
        return 301 https://$host$request_uri;
}

2)
main

server {
  listen 443 ssl;
  server_name *.domain.ru;
  resolver $IP valid=5m;
  ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
  ssl_certificate     /etc/ssl/certs/domain.crt;
  ssl_certificate_key /etc/ssl/certs/domain.key;
  ssl_session_cache   shared:SSL:10m;
  ssl_session_timeout 10m;

  gzip on;
  gzip_vary on;
  gzip_min_length 1000;
  gzip_proxied any;
  gzip_comp_level 7;
  gzip_buffers 16 8k;
  gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/png;

  location = / {  
    return 301 https://$host:443/crm;
  }

  location /images {
    root /var/www/html/;
    autoindex off;
    expires 30d;
  }

  location /crm/icons {
    root /var/www/html/;
    autoindex off;
    expires 30d;
  }

  location /crm/images {
    root /var/www/html/;
    autoindex off;
    expires 30d;
  }

  location /crm/img {
    root /var/www/html/;
    autoindex off;
    expires 30d;
  }

  location / {
    proxy_pass       https://$host:443;
    proxy_set_header Host      $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
  }
}


Т.е. сейчас, для ускорения работы, статика сайтов (одна и та же для всех сайтов) выведена на уровень прокси nginx. Но сайты получают обновления каждую неделю через встроенный апдейтер
И когда происходит обновление статического контента - приходится ручками заливать обновление на nginx прокси.
Если я отключу статику на уровне nginx - проблема будет решена. Но тогда появится другая проблема - скорость загрузки (не очень эти сайты оптимизированы)
Поможет ли мне включение/настройка nginx прокси конфига proxy_buffer и/или proxy_cache для решения проблемы со скоростью загрузки сайтов (при отключенной статике на nginx)? Если да - то как лучше это сделать?

Важно: как видно из конфига nginx - используется всего один конфиг файл с редиректом на запрашиваемый url, но с запросом уже на свой dns сервер. Так вот, важно это оставить, а настроить что бы nginx прокси держал одну статику (одинаковую) для всех сайтов, куда он редиректит

Заранее спасибо
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ответы на вопрос 1
karabanov
@karabanov
Системный администратор
Как-то так NGINX Content Caching.
Настрой это для /images, /crm/icons, /crm/images, /crm/img. Для location / не настраивай.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы