私はhttp://foo.tld/bar/baz/にproxy_pass
を使用して提供されるサーバーhttp://255.255.255.255:8888/上で実行されているHTTPサービスがあります。proxy_passの後ろにある現在のURLを取得するには?
server {
server_name foo.tld;
location /bar/baz/ {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://255.255.255.255:8888/;
}
}
今私はhttp://foo.tld/bar/baz/を取得するためのGETリクエストを作っています:
curl http://foo.tld/bar/baz/
で実行されているHTTPサービスを8888ポートは単純なExpressアプリです。
app.get('/', (req) => {
console.log('req.url', req.url);
console.log('req.originalUrl', req.originalUrl);
});
リクエストされているURLのURL(または少なくとも絶対パス)を取得したいとします。ただし、上記コードreq.url
とreq.originalUrl
は、/bar/baz/
ではなく、/
となります。
サービスの実際の絶対パスを取得するにはどうすればよいですか?
あなたの場所は/ bar/bazに設定されているので、foo.tldのサービスはこのディレクトリのレベルで実行されています。 –