NGINX Serve static files inside a nested location The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Come Celebrate our 10 Year Anniversary!Help needed setting up nginx to serve static filesnginx redirect issue with upstream configurationNginx proxy pass works for https but not httpnginx load balancer rewrite to listen portNginx subversion commit failureGo(lang) with nginx - Serving Static FilesHow to serve static files for multiple Django projects via nginx to same domainNginx/Apache: set HSTS only if X-Forwarded-Proto is httpsUnexpected behaviour with nested location, alias and php-fpm upstreamNginx reverse proxy to many local servers + webserver duty

Homework question about an engine pulling a train

Would an alien lifeform be able to achieve space travel if lacking in vision?

Deal with toxic manager when you can't quit

Match Roman Numerals

Did the UK government pay "millions and millions of dollars" to try to snag Julian Assange?

Why can't wing-mounted spoilers be used to steepen approaches?

Is an up-to-date browser secure on an out-of-date OS?

What to do when moving next to a bird sanctuary with a loosely-domesticated cat?

Define a list range inside a list

TDS update packages don't remove unneeded items

How to politely respond to generic emails requesting a PhD/job in my lab? Without wasting too much time

The following signatures were invalid: EXPKEYSIG 1397BC53640DB551

How to determine omitted units in a publication

What was the last x86 CPU that did not have the x87 floating-point unit built in?

What can I do if neighbor is blocking my solar panels intentionally?

Make it rain characters

Single author papers against my advisor's will?

Pretty sure I'm over complicating my loops but unsure how to simplify

Does Parliament hold absolute power in the UK?

Is there a way to generate uniformly distributed points on a sphere from a fixed amount of random real numbers per point?

Fixing different display colors within string

Word for: a synonym with a positive connotation?

How to make Illustrator type tool selection automatically adapt with text length

One-dimensional Japanese puzzle



NGINX Serve static files inside a nested location



The 2019 Stack Overflow Developer Survey Results Are In
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
Come Celebrate our 10 Year Anniversary!Help needed setting up nginx to serve static filesnginx redirect issue with upstream configurationNginx proxy pass works for https but not httpnginx load balancer rewrite to listen portNginx subversion commit failureGo(lang) with nginx - Serving Static FilesHow to serve static files for multiple Django projects via nginx to same domainNginx/Apache: set HSTS only if X-Forwarded-Proto is httpsUnexpected behaviour with nested location, alias and php-fpm upstreamNginx reverse proxy to many local servers + webserver duty



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I have a nested location directive, I want to serve the app at the /api and the static files in the /api/static/



For serving static files I'm using try_files $uri /dev/null =404 inside a nested location.



location /api/ 

location /api/static/
try_files $uri /dev/null =404;
root /shared_volumes/staticfiles/;


proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://app:8000/api/;



but that doesn't work, nginx returns not found when accesing http://app/api/static/afile.css although the file exists in /shared_volumes/static/afile.css



In the NGINX docs $uri is




current URI in request, normalized The value of $uri may change during
request processing, e.g. when doing internal redirects, or when using
index files.




How does nginx $uri behave in nested location?
Does nginx search file api/static/afile.css in /shared_volumes/staticfiles/ instead of afile.css?










share|improve this question



















  • 1





    The URI /api/static/afile.css will be looked for at /shared_volumes/staticfiles/api/static/afile.css. That's how root works. Perhaps you need to use alias instead.

    – Richard Smith
    Apr 8 at 12:40











  • BTW, this try_files is meaningless. Even more, it will try file $root/dev/null, I doubt you've meant that

    – Alexey Ten
    Apr 8 at 12:49

















0















I have a nested location directive, I want to serve the app at the /api and the static files in the /api/static/



For serving static files I'm using try_files $uri /dev/null =404 inside a nested location.



location /api/ 

location /api/static/
try_files $uri /dev/null =404;
root /shared_volumes/staticfiles/;


proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://app:8000/api/;



but that doesn't work, nginx returns not found when accesing http://app/api/static/afile.css although the file exists in /shared_volumes/static/afile.css



In the NGINX docs $uri is




current URI in request, normalized The value of $uri may change during
request processing, e.g. when doing internal redirects, or when using
index files.




How does nginx $uri behave in nested location?
Does nginx search file api/static/afile.css in /shared_volumes/staticfiles/ instead of afile.css?










share|improve this question



















  • 1





    The URI /api/static/afile.css will be looked for at /shared_volumes/staticfiles/api/static/afile.css. That's how root works. Perhaps you need to use alias instead.

    – Richard Smith
    Apr 8 at 12:40











  • BTW, this try_files is meaningless. Even more, it will try file $root/dev/null, I doubt you've meant that

    – Alexey Ten
    Apr 8 at 12:49













0












0








0








I have a nested location directive, I want to serve the app at the /api and the static files in the /api/static/



For serving static files I'm using try_files $uri /dev/null =404 inside a nested location.



location /api/ 

location /api/static/
try_files $uri /dev/null =404;
root /shared_volumes/staticfiles/;


proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://app:8000/api/;



but that doesn't work, nginx returns not found when accesing http://app/api/static/afile.css although the file exists in /shared_volumes/static/afile.css



In the NGINX docs $uri is




current URI in request, normalized The value of $uri may change during
request processing, e.g. when doing internal redirects, or when using
index files.




How does nginx $uri behave in nested location?
Does nginx search file api/static/afile.css in /shared_volumes/staticfiles/ instead of afile.css?










share|improve this question
















I have a nested location directive, I want to serve the app at the /api and the static files in the /api/static/



For serving static files I'm using try_files $uri /dev/null =404 inside a nested location.



location /api/ 

location /api/static/
try_files $uri /dev/null =404;
root /shared_volumes/staticfiles/;


proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://app:8000/api/;



but that doesn't work, nginx returns not found when accesing http://app/api/static/afile.css although the file exists in /shared_volumes/static/afile.css



In the NGINX docs $uri is




current URI in request, normalized The value of $uri may change during
request processing, e.g. when doing internal redirects, or when using
index files.




How does nginx $uri behave in nested location?
Does nginx search file api/static/afile.css in /shared_volumes/staticfiles/ instead of afile.css?







nginx






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 8 at 10:35







otong

















asked Apr 8 at 10:16









otongotong

84




84







  • 1





    The URI /api/static/afile.css will be looked for at /shared_volumes/staticfiles/api/static/afile.css. That's how root works. Perhaps you need to use alias instead.

    – Richard Smith
    Apr 8 at 12:40











  • BTW, this try_files is meaningless. Even more, it will try file $root/dev/null, I doubt you've meant that

    – Alexey Ten
    Apr 8 at 12:49












  • 1





    The URI /api/static/afile.css will be looked for at /shared_volumes/staticfiles/api/static/afile.css. That's how root works. Perhaps you need to use alias instead.

    – Richard Smith
    Apr 8 at 12:40











  • BTW, this try_files is meaningless. Even more, it will try file $root/dev/null, I doubt you've meant that

    – Alexey Ten
    Apr 8 at 12:49







1




1





The URI /api/static/afile.css will be looked for at /shared_volumes/staticfiles/api/static/afile.css. That's how root works. Perhaps you need to use alias instead.

– Richard Smith
Apr 8 at 12:40





The URI /api/static/afile.css will be looked for at /shared_volumes/staticfiles/api/static/afile.css. That's how root works. Perhaps you need to use alias instead.

– Richard Smith
Apr 8 at 12:40













BTW, this try_files is meaningless. Even more, it will try file $root/dev/null, I doubt you've meant that

– Alexey Ten
Apr 8 at 12:49





BTW, this try_files is meaningless. Even more, it will try file $root/dev/null, I doubt you've meant that

– Alexey Ten
Apr 8 at 12:49










1 Answer
1






active

oldest

votes


















0














I changed the /api/static/ location directive as sugested by @Richard and @Alexey in the comment above



 location /api/static/ 
alias /shared_volumes/staticfiles/;



and it now works, thanks!






share|improve this answer

























    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "2"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f961996%2fnginx-serve-static-files-inside-a-nested-location%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    I changed the /api/static/ location directive as sugested by @Richard and @Alexey in the comment above



     location /api/static/ 
    alias /shared_volumes/staticfiles/;



    and it now works, thanks!






    share|improve this answer





























      0














      I changed the /api/static/ location directive as sugested by @Richard and @Alexey in the comment above



       location /api/static/ 
      alias /shared_volumes/staticfiles/;



      and it now works, thanks!






      share|improve this answer



























        0












        0








        0







        I changed the /api/static/ location directive as sugested by @Richard and @Alexey in the comment above



         location /api/static/ 
        alias /shared_volumes/staticfiles/;



        and it now works, thanks!






        share|improve this answer















        I changed the /api/static/ location directive as sugested by @Richard and @Alexey in the comment above



         location /api/static/ 
        alias /shared_volumes/staticfiles/;



        and it now works, thanks!







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Apr 9 at 3:52

























        answered Apr 9 at 3:44









        otongotong

        84




        84



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Server Fault!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f961996%2fnginx-serve-static-files-inside-a-nested-location%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            How to write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

            What if the end-user didn't have the required library?What is setup.py?What is a clean, pythonic way to have multiple constructors in Python?What does Ruby have that Python doesn't, and vice versa?What is the reason for having '//' in Python?How do I create a namespace package in Python?How to package shared objects that python modules depend on?setuptools vs. distutils: why is distutils still a thing?Navigation in Windows 10 vs code not going to virtualenv library when the same library is installed at user levelPython create package for local usePackaging a project that uses multiple python versionsWhy is permission denied on pip install except for when “--user” is included at end of command?

            Why did Thanos need his ship to help him in the battle scene?Which actor plays Thanos in the Avengers mid-credits scene?Are there economic implications portrayed in comics where the buildings and cities are ruined almost daily?Old X-Men comic where team travels to alien world with a ring-like sun that needs recharging?Why does Ego need help sleeping?Is there an objective answer to who “the strongest Avenger” is?How did Banner get unstuck?Why did Thanos get hit?How did Thanos (or anyone) know the Infinity Stones would give him this power?Did Thanos leave Eitri alive for his after-sales service?In Avengers 1, why does Thanos need Loki?