Proxy reverso para um subdiretório no nginx

12

Eu quero criar um proxy reverso no meu VPS para o meu aplicativo Heroku ( link ) Então, se eu visitar o mysite.com/blog , posso obter o conteúdo no link

Eu segui as instruções no Wiki do Apache .

    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;
    }

Eu mudei para a minha situação:

    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;
    }

Quando visito mysite.com/blog , a página aparece, mas o arquivo js / css não pode ser obtido (404).
O link deles se torna mysite.com/style.css , mas não mysite.com/blog/style.css .

O que há de errado e como posso corrigi-lo?

    
por Maple 12.02.2012 / 14:14

2 respostas

5

Você precisa corrigir as referências no seu HTML, o nginx não é responsável por fazer isso por você. Você pode configurá-los para serem agnósticos em qual diretório eles residem:

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

(em vez de "/style.css" )

    
por 12.02.2012 / 22:00
1

Acesse o banco de dados do seu wordpress e atualize siteurl em wp_options para http://lovemaple.heroku.com . OK.

    
por 26.06.2018 / 04:32