gpt4 book ai didi

Node.JS 在不同机器上使用 Nginx 进行反向代理

转载 作者:太空宇宙 更新时间:2023-11-04 01:11:25 27 4
gpt4 key购买 nike

我有一个在我的 LAN 内的树莓派上运行的 Node.js 应用程序。但现在我想从网络访问它。我有一个 nginx 服务器正在运行并通过 http 和 https 提供内容。

对于 https/ssl 端点,我有一个简单的非通配符证书。这将我限制为 www.foo.com 和 foo.com。所以我不能做nodeapp.foo.com。所以我的 B 计划是制作 foo.com/nodeapp。

我配置了这个,它对于动态内容工作得很好,但是静态内容不会加载,因为生成的 html 中使用的 url 指向例如。 foo.com/js/jquery.js 而不是 foo.com/nodeapp/js/jquery.js

任何人都可以指导我如何设置它。我尝试了各种东西(在 nginx 中重写 URL,在 Node.js 中重写 URL),但我迷失了。

最佳答案

据我了解您的问题,您从 Node 应用程序提供静态内容。更好的方法是将静态内容从 Node 应用程序中移出,并让 Nginx 提供静态内容。只需将静态内容(例如/js、/css、/images)复制到 nginx www 目录中即可。在您的情况下,您还将获得更好的性能,并且可以节省树莓资源。如果它会干扰您现有的 www 内容,请将它们移动到额外的目录(例如/assets/js、/assets/css、...)并相应地更改您的 html。

关于Node.JS 在不同机器上使用 Nginx 进行反向代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17068700/

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