我试图代理另一个Web服务器,在本地主机:20000,从Nginx。 这工作:
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。我可以在浏览器的头文件中看到,这些文件的请求是去mysite.com/jquery.js而不是mysite.com/myApp /jquery.js,所以我猜他们没有被代理,这就是为什么他们404。这些URL的path编码相对()。 我如何得到这个工作。 我无法更改代理index.html文件中的path。 谢谢
编辑。 后端web服务器是thttpd,它是古老的。 这会影响set_head主机吗? 对不起,我不太熟悉这个图层的工作原理。
首先, location /myApp {}必须在location {}以上。 其次,可能更重要的是,您可以直接提供静态文件,方法是正确指定root并添加secion,如下所示:
location ~* \.(css|jpg|png|gif|jpeg|js|ico|swf|mp3)$ { break; }
如果您想要修改URI,可以在location / {}部分中find帮助:
rewrite ^/(.*)$ /myApp/$1 break;