Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I want to set up a Reverse proxy on my VPS for my Heroku app (http://lovemaple.heroku.com) So if I visit mysite.com/blog I can get the content in http://lovemaple.heroku.com

I followed the instructions on the Apache wiki.

    location /couchdb {
        rewrite /couchdb/(.*) /$1 break;
        proxy_pass http://localhost:5984;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

I changed it to fit my situation:

    location /blog {
        rewrite /blog/(.*) /$1 break;
        proxy_pass http://lovemaple.heroku.com;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

When I visit mysite.com/blog, the page show up, but js/css file cannot be gotten (404).
Their link becomes mysite.com/style.css but not mysite.com/blog/style.css.

What's wrong and how can I fix it?

share|improve this question
add comment

1 Answer

You need to fix the references in your HTML, nginx isn't responsible for doing it for you. You can set them to be agnostic to what directory they reside in:

<link rel="stylesheet" type="text/css" href="style.css">

(instead of "/style.css")

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.