Nginx 代理路徑

Nginx 代理路徑

我正在嘗試從 nginx 代理程式 localhost:20000 上的另一個 Web 伺服器。這有效:

location/ {
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_pass http://127.0.0.1:20000
}

但是如果我將其更改為:

location /myApp {
proxy_set_header..

我只能載入index.html文件,所有其他.css和.js 404。 myApp /jquery.js,所以我猜他們當時沒有被代理,這就是為什麼他們 404。我該如何讓它發揮作用。我無法更改代理程式的index.html 檔案中的路徑。謝謝

編輯。後端網路伺服器是 thttpd,它很古老。這會影響 set_head 主機嗎?抱歉,我不太熟悉該層的工作原理。

答案1

首先,location /myApp {}必須是上面的location {}。其次,可能更重要的是,您可以透過正確分配root和添加以下部分來直接提供靜態文件:

location ~* \.(css|jpg|png|gif|jpeg|js|ico|swf|mp3)$ { break; }

如果您想修改 URI,這可能會有所幫助,請參閱以下location / {}部分:

rewrite ^/(.*)$ /myApp/$1 break;

相關內容