gpt4 book ai didi

node.js - 如何将 Node.js Express 应用程序部署在 HAProxy 后面?

转载 作者:太空宇宙 更新时间:2023-11-04 02:35:51 24 4
gpt4 key购买 nike

我有一个在 machine1 上的端口 3000 上运行的 Node.js Express 应用程序。我可以通过 machine1:3000 成功访问我的应用程序

我在 machine2 上运行 HAProxy。我更新了haproxy.cfg如下

frontend main *:80
acl url_mynodeapp path_beg -i /mynodeapp

use_backend mynodeapp if url_mynodeapp

backend mynodeapp
mode http
reqrep ^([^\ ]*\ /)mynodeapp[/]?(.*) \1\2
balance roundrobin
server machine1 1.1.1.1:3000

我现在可以在 machine2/mynodeapp 上点击我的应用程序。然而,所有相关链接现在都已损坏,包括 css 和 javascript(因为它们指向 machine2 而不是 machine2/mynodeapp)。

如何在代理后面部署 Express 应用程序?如何部署带有子文件夹的 Express 应用程序?我来自 java 世界,所有 Web 应用程序都在 servlet 容器内以 namespace 命名,从而为每个应用程序提供了自己的子文件夹。

谢谢

内森

最佳答案

/mynodeapp 不是子域。这是一个子文件夹。子域名为 mynodeapp.machine2

子域名托管与 Express 配合得很好,因为这不是 Express 的工作,而是前端的工作。
只要您的前端一致解析(对于子域,而不是子文件夹),express 就会从 HAproxy 接收预期的 url

关于node.js - 如何将 Node.js Express 应用程序部署在 HAProxy 后面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22413924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com