最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何使用node.js为闪亮的应用程序执行反向代理

运维笔记admin11浏览0评论

如何使用node.js为闪亮的应用程序执行反向代理

如何使用node.js为闪亮的应用程序执行反向代理

编辑

我认为问题可能是WebSocket连接没有通过代理node.js.如何授权WebSocket的连接?


我在nodeJS服务器上托管了一个Web应用程序。在同一个虚拟机上我也有一个闪亮的服务主机应用程序。当请求somes URL时,我使用node将流量重定向到端口3838(闪亮)。

我在节点上使用此代码:

app.use('/the-shiny-app', proxy({target: 'http://localhost:3838', changeOrigin: true}));

使用此设置,当我继续使用mydomain / the-shiny-app / *时,除了当我尝试在代码框中运行代码时,一切正常。

当我尝试运行代码时,我在chrome控制台上遇到此错误:

 Connection closed. Info: {"type":"close","code":4503,"reason":"The application unexpectedly exited","wasClean":true}

我所说的代码框的一个例子:

如果我不使用node.js并且我将流量(在操作系统级别上)从端口80直接重定向到3838,一切正常。

sudo iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-ports 3838

我不知道在运行代码时浏览器和闪亮服务器之间究竟进行了什么样的交换,但是使用的协议可能被node.js阻止。

回答如下:

我发现了这个问题。正如Antony Gibbs所说,你需要设置WebSocket升级。我正在使用http-proxy-middleware你可以在这里找到doc:https://github/chimurai/http-proxy-middleware

发布评论

评论列表(0)

  1. 暂无评论