Tôi có một ứng dụng django chạy trên http://localhost:12345. Tôi muốn người dùng truy cập thông qua url http://my.server.com/myapp. tôi sử dụng nginx để đảo ngược proxy để nó như sau:làm thế nào để triển khai django dưới một suburl đằng sau nginx
... ...
server_name my.server.com;
location /myapp {
rewrite /myapp(.*) $1 break;
... ... # proxy param
proxy_pass http://localhost:12345;
}
... ...
Câu hỏi đặt ra là, khi cấu hình như trên, làm thế nào để làm cho các url trong các trang phản ứng của tôi để có một tiền tố của "/ myapp" để nginx có thể hướng chúng một cách chính xác đến myapp. Ví dụ: các url trong một trang như "/ foo/far" phải được thay đổi thành "/ myapp/foo/bar" để cho phép nginx proxy sử dụng myapp. cấu hình nginx phù hợp để sử dụng để đạt được điều này là gì?
Tôi có thể sử dụng biến cài đặt của django để chỉ định tiền tố url gốc, nhưng nó không linh hoạt trong tâm trí của tôi, vì biến phải được sửa đổi theo cấu hình nginx khác nhau (nói một ngày nginx có thể thay đổi suburl từ "/ myapp "to"/anotherapp ").
Cảm ơn, Nghe có vẻ như tôi phải đi với mẹo WSGIScriptAlias –
Cảm ơn GOODNESS cho bài đăng này. Mẹo "proxy_set_header" đã cứu tôi khỏi cơn ác mộng của Google khi tìm kiếm. Tôi nên biết rõ hơn. Gracias. –