Nginxを備えたサーバーexample.com
があるとします。
リクエストURIまたはGETパラメータの一部として指定されたURLをプロキシするプロキシを作成します(クエリ文字列が含まれる場合があります)。
したがって、たとえばhttp://www.google.pl/image.png?x=y
リクエストが行われたときにnginxがGET example.com/proxy/http://www.google.pl/image.png?x=y
を解決するようにします。
私はこのようにsthを試しました:
location /proxy {
rewrite /proxy(.*) /$1 break;
resolver 8.8.8.8;
proxy_pass http://$arg_Host/$arg_uri?$query_string;
}
多分私はリダイレクトしたいですか?私のドメインとは別のサーバーにある画像を提供したいとします。
これを試して:
location ~ /proxy/(http://.*) {
resolver 8.8.8.8;
proxy_pass http://$1$is_args$args;
}
明示的な書き換えは必要ありません。 $is_args
は、リクエスト行に引数がある場合は?
に設定され、それ以外の場合は空の文字列に設定されます。$args
はリクエスト内のパラメーターを含みます(?
を除く)またはクエリパラメータがない場合は空の文字列。 $1
は、場所の正規表現の( ... )
で囲まれたURIの部分と一致します。