2017-12-07 6 views
0

ロードバランサを使用して保護され公開されているNodeJSサービスがあります。 j_secuirty_checkを使用して投影されたドリルQuery.JSON APIを呼び出す必要があります。要求を使用してnodeJSから安全なドリルURLを呼び出す

既存ロジック: まず、資格情報でj_security_check URLをヒットし、Cookieを受信します。 上記の手順で受信したCookieを含むquery.JSON URLをヒットします。

コードスニペット:

var options1 = { 
    url: 'http://<HOSTNAME>:8047/query.json', 
    method: 'POST', 
    json: JSON.parse('{ "queryType":"SQL", "query": "show schemas"}'), 
    headers : { 
     cookie : setcookie 
    } 
}; 

上記方法は、ロード・バランサなしで動作しています。 例:

backend service running on http://localhost:3000 
Drill URL: http://<SOMEIP:PORT>/query.JSON 

問題:2番目の要求はログインページにリダイレクトされ 私たちは前のステップで受信したクッキーを設定すると思いました。

例:

backend service running on https://<LOADBALANCER_URL> 
Drill URL: http://<SOMEIP:PORT>/query.JSON 

これが原因でHTTPS & HTTPプロトコルやdiffドメインのですか?

ご意見をお寄せください。

+0

クッキーを受け取った実際のコードをワンステップで表示し、そのクッキーを次のステップに戻すことはできますか? – jfriend00

答えて

0

ロードバランサの場合、リクエストは最初の手順でCookieを発行しなかった別のDrillbit WebServerに送信されている可能性があります。いずれの場合でも動作しません。ロードバランサはスティッキセッションのコンセプトを持っているか、クライアントから同じWebServerに要求を毎回送信する必要があります。

関連する問題