我在逆向代理模式下使用nginx。 在我的服务器部分,我有这个代码来设置我的静态文件过期和caching控制。
location ~* ^.+\.(css|js|png|gif)$ { access_log off; expires max; add_header Cache-Control public; if (!-f $request_filename) { proxy_pass http://localhost:82; } }
这很明显造成了问题 。 有人可以帮我纠正这个代码使用try_files或rewrite ?
至less有2种技术。
在引入try_files指令之前,常用的方法是拦截错误代码404并用指定的位置处理请求,例如
location ~* \.(css|js|png|gif)$ { access_log off; expires max; add_header Cache-Control public; error_page 404 = @upstream; }
使用try_files等效
location ~* \.(css|js|png|gif)$ { access_log off; expires max; add_header Cache-Control public; try_files $uri @upstream; }
这两个场景的命名位置是相同的:
location @upstream { proxy_pass http://localhost:82; }