javascript - Node http代理: forward traffic to external https site - crashes

标签 javascript node.js reverse-proxy http-proxy

我想将 REST 请求从前端 wepp 应用传输到外部 Jira 服务器上的 API。

为此,我使用 Node http-proxy ,这对于 http 的 Jira 服务器来说是可以的。

但现在我想为 https 创建一个单独的服务器。

因此对 this 进行一些更改例如我现在有这个:

var path  = require('path'),
    fs    = require('fs'),
    httpProxy = require('http-proxy'),
    certFolder = '/my/cert/folder';

//
// Create the HTTPS proxy server listening on port 8002
//
httpProxy.createServer({

  //(placeholder address)
  target: {
    host: 'https://ext.jiraserver.com',
    port: 443
  },

  // letsencrypt cert
  ssl: {
    key: fs.readFileSync(path.join(certFolder, 'privkey.pem'), 'utf8'),
    cert: fs.readFileSync(path.join(certFolder, 'fullchain.pem'), 'utf8')
  },

  secure: true
}).listen(8002);

console.log('https proxy server started  on port  8002');

但是当我向服务器发出请求时,https://my.domain.com:8002它使服务器崩溃并显示错误消息:

.../node_modules/http-proxy/lib/http-proxy/index.js:119 throw err; ^

Error: getaddrinfo ENOTFOUND https://ext.jiraserver.com https://ext.jiraserver.com:443 at errnoException (dns.js:28:10) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)

我似乎无法让它工作...服务器在线并且地址正确,所以我不知道出了什么问题。

是我的代码有问题吗?或者我该怎么做才能使其正常工作?

谢谢!

最佳答案

请勿在 DNS 主机定义中包含 https://

host: 'ext.jiraserver.com',

错误消息告诉您这是 DNS 解析问题。您正在尝试查找 https://ext.jiraserver.com 的 DNS,包括 https

关于javascript - Node http代理: forward traffic to external https site - crashes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44159649/

相关文章:

javascript - 在 SVN 窗口中缩小 JS 和 CSS 的步骤

node.js - 如何使用 express 4.x 获取 ip 客户端

ssl - nginx 和 bitnamis dockerized osclass 的 HTTP/HTTPS 重定向问题

apache - 通过 https 配置 Apache 作为反向代理和 tomcat

javascript - JSONP 回调不起作用

javascript - TypeScript:编译删除未引用的导入

javascript - 仅当值大于 1 时显示 div Jquery

browser - 跨子域/端口 socket.io - 如何处理?

javascript - VueJs 2、NodeJs 和重新加载页面

nginx - 启用 SELinux 后 proxy_pass 不起作用,为什么?