0

我正在使用带有 Node.js 的反向代理(http-proxy-middleware)来加载 NodeBB 的实例。

网站网址 - www.website.com/forums/ 论坛网址 - forum.website.com/forums/

我无法通过网站 URL (www.website.com/forums/login/) 登录论坛

我遇到登录表单后超时或会话不匹配错误。

我可以通过论坛 URL (forum.website.com/forums/login) 直接登录论坛,但是由于 config.json 设置(允许 NodeBB 在另一个域上运行),WebSocket 和那里的无效会话。

NodeBB 是从环境变量中运行的,key:value 如下:

"url": "http://www.website.com/forums/",
"secret": "SECRET",
"database": "postgres",
"port": "4567",
"postgres__host": "HOST",
"postgres__port": 5432,
"postgres__username": "USER",
"postgres__password": "PASSWORD",
"postgres__database": "DB"

缺少哪些配置设置才能解决此问题?更重要的是,如何将它们设置为环境变量?

4

1 回答 1

0

问题与 NodeBB 无关,而与 Node.js 代理(http-proxy-middleware)有关

POST 请求没有被代理到服务器,因为在我的代理服务器之前声明了“body-parser”。

所以解决方法是将我的代理定义和路由移到“body-parser”模块之上。

修复在此处详细说明 - https://github.com/chimurai/http-proxy-middleware/issues/40#issuecomment-163398924

于 2019-06-11T08:52:34.460 回答