4

のようなドメインを持っていて、すべてのリクエストを からにhttp://www.example.comリダイレクトしたい場合、どうすれば適切に実行できますか? 私は次のことを試しました: http://www.example.com/testhttp://www.example.com:3000

location /test {
    proxy_pass http://www.example.com:3000;
    proxy_set_header Host $host;
}

しかし、それが実際に行っているのはhttp://www.example.com/testhttp://www.example.com:3000/testのリダイレクトであり、それは私が望んでいることではありません。
どうすれば適切に行うことができますか?

更新:の答えは機能しましたが、期待どおりにドメインにリダイレクトされます
。 しかし、私が今欲しいのは、ブラウザバーが . 私が正しく理解していれば、nginxを設定して応答をキャッチし、ユーザーが要求したURLで返送する必要があります。どうすればそれを実行できますか?Krizna
http://www.example.com/testhttp://www.example.com:3000

4

2 に答える 2

4

このコードを試してください

location / {
   rewrite ^/test(/.*)$ http://example.com:3000$1 permanent;
   proxy_set_header Host $host;
}

更新: URL を書き換えたくない場合は、このコードを試してください..

server {
    --------
    server_name  www.example.com;
    location /test {
    proxy_pass http://example.com:3000;
    }
}
于 2013-05-31T10:04:03.483 に答える
1

proxy_redirect offあなたの問題を解決するはずです。通過しますが、URI は変更されません。

ドキュメント: http://wiki.nginx.org/HttpProxyModule#proxy_redirect

location /test {
    proxy_pass http://example.com:3000;
    proxy_set_header Host $host;
    proxy_redirect off;
}
于 2013-05-31T10:07:39.347 に答える