How to serve all existing static files directly with NGINX, but proxy other requests to jetty?
Francis Daly
francis at daoine.org
Tue Nov 18 20:53:39 UTC 2014
On Tue, Nov 18, 2014 at 10:05:26AM -0500, AlexLuya wrote:
Hi there,
> I want to nginx to serve all static files that have been put at
> directories:js,images,html,and proxy other requests to jetty,I have tried:
>
> location ~ ^/test/(.*)\.
> (jpg|jpeg|gif|png|js|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf|html|htm)$
> {
> root /ngixRoot/test;
> }
That says that if you request /test/file.jpg, nginx should send the
file /ngixRoot/test/test/file.jpg.
What response do you get?
What does the log file say is happening?
> After a squence of Q&A,I was told that "try_files" is another option(not
> sure which one is more propriate for my use case ),then after googling and
> reading,I tried this:
>
> location ~ ^/test/$ {
> try_files $uri $uri/ @jetty
> }
<snip>
> but get "403 forbidden" error,so please tell me what I did wrong?Thanks.
What request did you make, to get the 403 response? What response did
you want to get? What does the log file say about that request?
>From your mail, it is not clear to me exactly what you want.
Possibly something like
root /nginxRoot/;
location /test/js/ {}
location /test/html/ {}
location /test/images/ {}
location / {
proxy_pass http://jetty;
# and whatever else is involved in jetty configuration
}
would come close?
If not, it might be helpful if you can describe what response you
want from a request for /test/js/file.js and for /test/js/missing.js,
for example. (Or have I misunderstood, and you actually care about
requests like /js/file.js?)
f
--
Francis Daly francis at daoine.org
More information about the nginx
mailing list