如何POST到外部IP?

时间:2017-12-27 18:20:15

标签: javascript node.js docker google-cloud-platform google-compute-engine

问题:

我正在尝试向在Google云平台上的Compute Engine实例上运行的Docker实例发出POST请求。

我收到以下错误:

ERROR: Error: connect ETIMEDOUT ExternalIP:Port

我做错了什么?

编辑:缺少FireWall规则以允许tcp:Port Ingress。这解决了上面的错误。

现在我有以下错误:

Error: connect ECONNREFUSED ExternalIP:Port

我正在尝试从我的localhost连接到节点,但该节点被配置为仅接受来自其自身的请求(计算引擎实例):

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

(无论是否使用“-p 127.0.0.1:7076:7076”,我都试过了)

我需要找到一种方法来安全地向节点发出请求而不让任何人,但我的本地机器和我将托管我的网站的服务器访问该节点。

我添加了防火墙规则以允许从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);
         }
      }
);

1 个答案:

答案 0 :(得分:0)

目前还不清楚是否有实际的HTTPS服务器正在侦听端口443(或另一端的指定端口)。

我也想知道你是否真的可以使用带有原始IP地址的HTTPS,因为通常需要域名+证书。