現在、これをproxy_pass
として使用しています。これは正常に機能します
location = /sms/resetpass {
proxy_pass http://xxx.xxx.xxx.xxx/api/resetpass;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $Host;
proxy_cache_bypass $http_upgrade;
}
上記は問題なく動作しますが、次のような別のプロキシが必要かどうかを判断しました
location = /sms/sample1 {
proxy_pass http://xxx.xxx.xxx.xxx/api/sample1;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $Host;
proxy_cache_bypass $http_upgrade;
}
次に、別のlocation block
を作成する必要があります
このようなことは可能ですか?
location = /sms/something_here {
proxy_pass http://xxx.xxx.xxx.xxx/api/something_here;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $Host;
proxy_cache_bypass $http_upgrade;
}
ここで、something_here
はURLをsms/blah
に渡すと、proxy_pass
はapi/blah
になります。
proxy_pass with subpath
などをグーグルで検索しようとしましたが、必要なものではないようです。だから私はこれが可能かどうか疑問に思っていますか、それとも私はそれを見つけるための正しい単語を知りませんでしたか?
アドバイスをよろしくお願いします。
Nginx location
およびrewrite
ディレクティブを使用します。次のようなもので十分です。
location ~ ^/sms/ {
rewrite ^/sms/(.*) /api/$1 break;
proxy_pass http://1.2.3.4;
...
}
最初にテストすることを忘れないでください。