私たちはAWSプレストクラスターの前にセキュリティレイヤーを提供するためにnginxを使用しています。私たちはnginx-presto-cluster.our-domain.comのSSL証明書を登録しましたnginxリバースプロキシはリクエストURLを別々に扱います
prestoに対するリクエストは、基本認証でnginxに渡されます。 prestoのSQLクエリは、クエリ結果をフェッチするために、マルチプルシーケンシャルリクエストをサーバに送信します。
location/{
auth_basic $auth;
auth_basic_user_file /etc/nginx/.htpasswd;
sub_filter_types *;
sub_filter_once off;
sub_filter 'http://localhost:8889/' 'https://presto.nginx-presto-cluster.our-domain.com/';
proxy_pass http://localhost:8889/;
}
プレストの応答が結果をフェッチするnextUriが含まれています。
は、我々はこのようになりますnginx.confを作成しました。 sub_filterは、これらのUriをlocalhost:8889から私たちの安全なドメインに書き換え、nginxを再び通過させます。問題: 最初の応答が望ままったく同じように見える体があります。
{
"id":"20171123_104423_00092_u7hmr"
, ...
,"nextUri":"https://presto.nginx-presto-cluster.our-domain.com/v1/statement/20171123_104423_00092_u7hmr/1"
, ...
}
を2番目の要求は、しかし、次のようになります。
{
"id":"20171123_105250_00097_u7hmr"
, ...
, "nextUri":"http://localhost:8889/v1/statement/20171123_105250_00097_u7hmr/2"
, ...
}
我々はリライトを期待しただろう常に同じように働きます。
お手伝いができますか?