Я разрабатываю веб-приложение с использованием Tomcat. Я настроил фронтальный сервер NGINX для обслуживания статического содержимого и перенаправления остальной части работы на сервер Tomcat.
Я установил эту конфигурацию в NGINX:
proxy_cache_path /var/www/mysite/assets levels=1:2 keys_zone=my_cache:10m inactive=60m;
proxy_cache_key "$scheme$request_method$host$request_uri";
server {
server_name mysite.com www.mysite.com;
listen 443 ssl http2;
ssl_certificate /etc/ssl/mysite.crt;
ssl_certificate_key /etc/ssl/mysite.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
root /opt/tomcat/latest/webapps/mysite/;
index index.jsp;
location ~* \.(jpg|jpeg|png|gif|ico|css|js|xml|gz)$ {
expires 12h;
}
location / {
proxy_pass http://127.0.0.1:8080/mysite/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Server-Proto $server_protocol;
proxy_cache my_cache;
add_header X-Proxy-Cache $upstream_cache_status;
}
}
Как видите, я установил перенаправление прокси и кеш прокси. Используя последнюю директиву (add_header X-Proxy-Cache $upstream_cache_status;
), я мог видеть, загружаются ли ресурсы HIT или HIS e.
Проблемы, которые я обнаружил:
- Если я использую эту конфигурацию, я думаю, что не вижу заголовки HIT / MISS,
Не знаю, хорошо ли работает прокси-кеш .
- Если я прокомментирую весь раздел
location ~* \.(jpg|jpeg|png|gif|ico|css|js|xml|gz)$
, я смогу увидеть заголовки HIT / MISS, поэтому Я думаю, что прокси-кеш работает , но я не знаю, позволяю ли Tomcat управлять статическим содержание, и это то, что я хотел избежать, используя этот раздел
Как настроить файл конфигурации на использование прокси-кэша и позволить NGINX управлять статическим контентом (jpg, css, js, ...)?
Может быть, все в порядке, и у меня все хорошо ...
Какое решение является лучшим?
Спасибо.