我使用Azure SDK進行節點創建客戶端應用程序以將數據發送到Azure服務總線主題。該應用運行良好,直接從我的設備連接到Azure雲。對於企業環境,設備和客戶端應用程序必須在防火牆後運行。爲客戶端節點應用程序訪問配置代理設置Azure ServiceBus和Azure SDK用於節點
+---------+ +------------+ +-------------------+
| Device | <=> | HTTP Proxy | <=> | Azure SB endpoint |
+---------+ +------------+ +-------------------+
Azure的SDK ServiceClient代碼顯示,它會自動使用代理設置從環境變量 -
HTTPS_PROXY=http://<proxy-server>:<proxy port>.
我設置環境變量,例如,它沒有工作。連接失敗在SDK調用帶:
Error: tunneling socket could not be established, cause=socket hang up
我用了「Azure的SDK換節點\實例\ SAMPLES \ sbtopics.js」與代理進行測試,它無法以同樣的方式。
我試圖修改默認代理,並沒有解決問題。 ...
var serviceBusClient = azure.createServiceBusService(azureSBSASStr);
var defaultProxy = serviceBusClient.proxy; // get the default proxy
var auth = 'Basic ' + new Buffer('username:password').toString('base64');
// override default
defaultProxy.auth = auth;
defaultProxy.rejectUnauthorized = false;
defaultProxy.secureOptions = constants.SSL_OP_NO_TLSv1_2; // also used SSL_OP_NO_SSLv3
defaultProxy.strictSSL = false;
// set the proxy
serviceBusClient.setProxy(defaultProxy);
// call to Service Bus SDK API resulted proxy connection failed
- 我有其他節點的應用程序,通過與此相同的代理服務器類似上述HTTP選項HTTP隧道通信成功在其他雲裏。
有沒有人成功獲得Azure SDK以使節點能夠使用代理?是否有任何其他代理配置需要指定?
THX,
我跑在Azure SDK爲節點組測試 - 「NPM測試」。該測試有5個測試失敗,與我使用節點應用程序時發生的錯誤相同。 '2)servicebusservice-tests storageConnectionStringsEndpointHttpExplicit: Uncaught AssertionError:{[錯誤:無法建立隧道套接字,原因=解析錯誤]代碼:'ECONNRESET'} == null at'。 – JamesNW
@JamesNW您是否設置了測試腳本所需的環境變量? –