1

我有一个 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 重写)但我迷路了。

4

1 回答 1

1

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

于 2013-06-13T19:43:34.817 回答