Nginx:正确设置proxy_path。 问题与url

我有几台服务器在虚拟机上运行。 我有一个运行nginx代理服务器的请求。 例如, http://mydomain.com/wiki应该将请求代理到http://192.168.122.3 。 192.168.122.3使用DocumentRoot = / var / www / wiki运行apache。 一切正常,但当页面加载时,所有path指向/而不是/维基(像<img src="/bla-bla-bla"/>, not /wiki/bla-bla-bla" )。似乎可以为apache,但不适用于浏览器 – 它不能加载图像等。将apache中的DocumentRoot更改为/ var / www和从nginx传递/ wiki没有帮助 – mediawiki开始redirect到/ wiki,nginxredirect回到apache等等,然后再说说关于循环redirect的问题。在Redmine(ruby on rails)中运行的其他项目的行为是一样的。

有什么办法可以解决这个问题吗? 有没有正确的方法来代理URL / / subdir到其他服务器?

这是nginx服务器部分:

 server { listen 192.168.122.7:80; server_name mydomain.com; access_log /var/log/nginx/localhost.access.log; location / { } location /wiki/ { proxy_pass http://192.168.122.3/; } } 

你应该使用proxy_redirect指令。

 location /wiki/ { proxy_pass http://192.168.122.3/; proxy_redirect default; }