2

仮想マシンで複数のサーバーを実行しています。そして、これらのサーバーへのリクエストをプロキシするために nginx を実行しています。たとえば、http://mydomain.com/wikiはhttp://192.168.122.3にリクエストをプロキシする必要があります。192.168.122.3 は、DocumentRoot = /var/www/wiki で apache を実行します。すべて正常に動作しますが、ページが読み込まれると、そこにあるすべてのパスが /wiki ではなく / を指します (のように<img src="/bla-bla-bla"/>, not /wiki/bla-bla-bla")。apache では問題ないようですが、ブラウザでは問題ないようです - 画像などを読み込めません。ループされたリダイレクトについて言う前に、Apacheなどに戻ります。Redmine (ruby on rails) などの VM で実行されている他のプロジェクトも同じように動作します。

この問題を解決する方法はありますか? /subdir のような URL を他のサーバーにプロキシする適切な方法はありますか?

これは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/;
    }
}
4

1 に答える 1

2

proxy_redirectディレクティブを使用する必要があります。

location /wiki/ {
    proxy_pass http://192.168.122.3/;
    proxy_redirect default;
}
于 2011-06-12T18:53:21.113 に答える