Node.js和Wordpress的Apache代理位于相同的“域”中,但路径不同

哈立德

就是这种情况。我有一个运行在我主要域名上的Wordpress网站http://www.example.com

.htaccess 已在服务器上启用,我正在使用Wordpress永久链接生成漂亮的URL。

现在,我在Node.js(Express)中有另一个应用程序,该应用程序已部署在同一服务器上,并在端口号上运行3000因此,如果我把http://www.example.com:3000它触发了我的Expressjs应用程序。而且它运行得非常完美。

我想要在来自同一域的特定路径上运行Node.js应用程序。例如,如果我点击了,http://www.example.com/node它应该将用户带到我的Node.js应用程序,如果我使用Apache的话,这会很好mod_proxy但这仅适用于/我的Expressjs路由器的路由。但是我还有其他几条路线,例如/subscribe/confirm但没有一条可行。以下是我的Apache配置,我尝试通过给出多个ProxyPass指令来使其工作,但它不起作用。

ProxyPass /node http://127.0.0.1:3000/
ProxyPassReverse /node http://127.0.0.1:3000/
ProxyPass /node/subscribe http://127.0.0.1:3000/subscribe
ProxyPassReverse /node/subscribe http://127.0.0.1:3000/subscribe

Express路由器非常基础,并使用以下应用程序配置:

var router  = express.Router();
app.use("/",router);

router.get("/",function(req,res){
   res.sendFile(templatepath + "index.html");
});

router.get("/subscribe",function(req,res){
   res.sendFile(templatepath + "subscribe.html");
});

router.get("*",function(req,res){
   res.sendFile(templatepath + "404.html");
});

当我尝试加载时http://www.example.com/node/subscribe,仅加载*路线并显示404.html模板。

哈立德

最终通过修改Apache配置文件使它正常工作,如下所示:

ProxyPreserveHost On
RewriteEngine On
ProxyPass ^/node/(.*) http://127.0.0.1:3000/$1 [P,L]
ProxyPassReverse /node/ http://127.0.0.1:3000/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Ubuntu中安装Node.js的路径

ES6类,其父文件位于不同的文件中,以及node.js?

Node.js变量声明和作用域

node.js中require()的路径参数

Apache Spark和node.js

在Node.js和node-webkit中打开目录

Node.js和MongoDB是否应该位于不同的容器中?

Node.js和浏览器中对“ this”的不同处理

Node.js相同的uri但参数不同

为什么Node.js中的散列用相同的字符给出不同的结果?

如何在相同的VPS和域上部署frontend和node.js服务器?

Node.js API网关和Nginx作为反向代理

setTimeout在Node.js和Chrome中的不同行为

Node.js和Chrome中的不同全局对象

MSSQL在SSMS和Node JS脚本中返回不同的结果

Node.js中的文件路径

node.js和python中相同问题解决方案的不同结果

如何将不同的子域指向同一服务器上的不同应用程序?(使用node.js作为代理吗?)

Node.js:变量作用域和模块关闭

使用express将不同的路由器用于node.js中的不同子域

如何获取位于node.js中$ PATH中的可执行文件的完整路径?

Node JS TCP代理:使用Node JS设置HTTP隧道

mongodb shell和node.js中的相同查询的行为不同

从Node.js中的地址设置代理

使用Apache代理的Node.js路由

如何在Node.js中以相同的形式传递两个不同的参数

Nginx - 域上的 WordPress 和子目录中的 Node.js 应用程序

node.next = node 和 node=node.next 的区别

Node.js:变量作用域在 Electron 和非 Electron 脚本中的行为不同