Google の Dialogflow v2 Node.js SDK から Dialogflow SDK サンプルを動作させようとしています。私は node.jsv8.10.0
を、dialogflow node.js SDK version で使用しています0.5.0
。企業の http/s プロキシの背後から「Detect Intent」サンプルを実行しようとすると、この問題が発生します。
Auth error:Error: write EPROTO 140163148314432:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:827
ここでこの投稿に出くわしました: https://medium.com/google-cloud/accessing-google-cloud-apis-through-a-proxy-fe46658b5f2a非常にJava指向のように見えましたが、環境変数GRPC_PROXY_EXP
を設定することを提案しましたgRPC 呼び出しをプロキシの背後で機能させるため。ノードを実行していたシェルで環境変数を設定export GRPC_PROXY_EXP="$https_proxy"
し、同じ問題でサンプルを再度実行しようとしました。$http_proxy
my ,$https_proxy
変数は同じであることに注意してください。
プロキシなしで wifi ネットワークに接続すると、同じマシンから同じサンプルが動作します。パケット分析は、tcpdump
使用中の 2 つの TCP 接続 (個別のポート) があることを示しています。2 番目の接続は、 (最初の TCP 接続と同様に) CLIENT_HELLO
最初に認証して HTTPS プロキシにメッセージを送信する必要があるときに、すぐに TLS メッセージを開始します。CONNECT
何か不足していますか、それともダイアログフロー (google-gax / grpc) ノード ライブラリの問題ですか?