Đảo ngược proxy cho thư mục con trong nginx


12

Tôi muốn thiết lập proxy ngược trên VPS cho ứng dụng Heroku của mình ( http://lovemaple.heroku.com ) Vì vậy, nếu tôi truy cập, mysite.com/blogtôi có thể nhận nội dung trong http://lovemaple.heroku.com

Tôi đã làm theo các hướng dẫn trên wiki 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;
    }

Tôi đã thay đổi nó để phù hợp với tình huống của tôi:

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

Khi tôi truy cập mysite.com/blog, trang sẽ hiển thị, nhưng tệp js / css không thể nhận được (404).
Liên kết của họ trở thành mysite.com/style.cssnhưng không mysite.com/blog/style.css.

Có gì sai và làm thế nào tôi có thể sửa chữa nó?


Câu trả lời:


5

Bạn cần sửa các tài liệu tham khảo trong HTML của mình, nginx không chịu trách nhiệm thực hiện nó cho bạn. Bạn có thể đặt chúng là bất khả tri đối với thư mục mà chúng cư trú trong:

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

(thay vì "/style.css")


1

Tới cơ sở dữ liệu của wordpress của bạn, và cập nhật siteurltrong wp_optionsđể http://lovemaple.heroku.comlà OK.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.