原理就是根据 url 的规则来判断是动态页面还是静态资源。
如果是动态页面就把请求转发到 Tomcat 等后端 Java 容器。如果是静态资源就直接在目录下找到文件返回给客户端。静态资源还开启了缓存时间和 gzip 压缩。
upstream java_api {
server 127.0.0.1:8080;
}
server {
listen 80;
server localhost;
root /opt/app/code;
location ~ \.jsp$ {
proxy_pass http://java_api;
index index.html index.htm;
}
location ~ \.(jpg|png|gif)$ {
expires 1h;
gzip on;
}
location / {
index index.html index.htm;
}
}