2

QUESTION:外部IPにPOSTする方法は?

私はGoogleのクラウドプラットフォーム上でCompute Engineのインスタンス上で実行されているドッカーインスタンスへのPOSTリクエストを作成しようとしています。

私は次のエラーを取得する:

ERROR: Error: connect ETIMEDOUT ExternalIP:Port

は私が間違って何をしましたか?


EDIT:ポートイングレス:ファイアウォールルールは、TCPを許可するように欠けていました。これにより、上記のエラーが修正されました。

は今、私は次のエラーしている:私は私のローカルホストからのノードに接続するために

Error: connect ECONNREFUSED ExternalIP:Port 

何が起こっているしようとしていますが、ノードは唯一の(故意に自分自身からの要求を受け入れる計算エンジンに設定されていますインスタンス):

(私はと

I) "127.0.0.1:7076:7076を-p" なしの両方試み

https://github.com/clemahieu/raiblocks/wiki/Docker-node

私のローカルマシンと自分のウェブサイトをホストするサーバーを誰にも知らせずに、ノードに安全にリクエストを出す方法を見つける必要があります。

IPアドレスからのアクセスを許可するためのファイアウォールルールを追加しましたが、何も変更されませんでした。

アイデア?


CODE:

request.post(
    { 
     url: 'https://ExternalIP:Port', 
     json: { 
      action: '…', 
      item1: '…' 
     } 
    }, 
    function (error, response, body) { 
     if (!error && response.statusCode == 200) { 
      console.log("BODY: " + body); 
     } else { 
      console.log("ERROR: " + error); 
     } 
     } 
); 
+0

URLは正しいですか?郵便配達員のような他のクライアントからリクエストを送ることはできますか?リクエストがGCPで受信されたことを確認できますか? –

+1

表示されているエラーは正確に記載されていますか?ログに記録しているエラーはすべて大文字ですが、あなたの投稿に書かれているエラーは小文字です。エラーがあなたのPOSTリクエストや他の場所から来ているのかどうか疑問に思っています。 –

+0

@JasonAllshornはい、それはPOST要求から来て、潜在的な混乱を取り除くために質問を修正しました。 – TheProgrammer

答えて

0

その不明確あなたは、実際のHTTPSサーバは、(もう一方の端に、または指定したポート)ポート443でリッスンしている場合。

通常、ドメイン+証明書が必要な場合は、実際には生のIPアドレスでHTTPSを使用できるかどうか疑問です。

+0

いいえ、現在HTTPSサーバーatmはありません。しかし、ファイアウォールでHTTPトラフィックも許可しましたか?何が欠けている ? – TheProgrammer

+0

サーバーは通常ポート7076でリッスンしています – TheProgrammer

+0

Keep Aliveの設定はどうですか?計算エンジンがスピンアップして着信要求を受信できるかどうかここにそれの言及があります。 https://cloud.google.com/compute/docs/troubleshooting#communicatewithinternet –

関連する問題