2017-01-12 16 views
0

IBM Bluemixを使用してNode-REDフローを生成しています。ノードREDコードはサーバとして動作し、クライアントはAPIを介してノードREDを呼び出します。IBM Bluemixノード-REDサーバーAPIのHTTPクライアント呼び出しを無効にする

クライアントは、HTTPとHTTPSの両方の方法でBluemixノード-REDサーバーAPIを呼び出すことができます。私は、進行中のHTTP呼び出しを無効にする必要があります。

  1. は私がノード内のHTTPた後、機能ノードを使用して、来

  2. bluemix.settingかなどを経由してHTTP呼び出しを利用できる任意の方法を無効にすることです。要求を識別するためのヘッダーを確認することは、HTTPまたはHTTPSです。それがHTTPの場合は、以下のように応答ヘッダーを設定します。すべての時間で

    msg.res.sendStatus(403).send('HTTP disabled')  
    msg.res.sendStatus(403)  
    msg.res.status(403) 
    

私は

Deprecated call to msg.res.sendStatus 
Deprecated call to msg.res.status 

を取得しています、私はこの問題を解決する方法をご希望ですか?無効な管理APIへ

+0

オプション2に3つのコールがすべてリストされているか、それぞれを試したことを意味していますか? – hardillb

+0

私は一つずつ試しました。 HTTPをブロックしていますが、警告メッセージが1つずつ表示されています。 –

答えて

1
  1. 、あなたはfalsehttpAdminRootを設定する必要があります。また、あなたは、管理APIのアクセス制御を可能にするために、adminAuthを使用することができます - HTTP Inノードが受信したHTTPリクエストに対応するためhttp://nodered.org/docs/security

  2. 、あなたがメッセージの適切なプロパティを設定し、それを渡す必要がありますHTTP Responseノード。 msg.resという関数を直接呼び出すことはできません。これは取得するログメッセージごとに廃止されます。 200:設定し、応答ステータスコード(デフォルトとして使用されている場合

    • ​​、応答
    • statusCodeの本文として送信されます。HTTP Responseノードのための情報]タブを含め、あなたが設定できるプロパティは、どのような記述します)たとえば、

、あなたのFunctionノードが行うだろう:

msg.statusCode = 403; 
msg.payload = "HTTP disabled"; 
return msg; 

を入力し、FunctionノードをHTTP Responseノードに配線します。

+0

現在、私はHTTPブロックに関する問題を抱えています。 adminAuthは正常に動作しています。 –

+0

私はstatusCodeも使用しようとしました。 msg.statusCode = 401; 返信msg.statusCode;しかし、それは成功ではありません。エラーを取得しています。 msg.resにアクセスできない場合は、どのようにstatusCodeをresponseに設定できますか? –

+0

これは、Node-RED git hubサンプルがそれをどのように定義したかを示しています。 https://github.com/node-red/node-red/blob/master/nodes/core/io/21-httpin.js?pr=%2Fmetc%2Fnode-red%2Fpull%2F1 –

関連する問題