
我正在嘗試從 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;