我有一个在我的局域网内的覆盆子pi上运行的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
任何人都可以给我指点如何设置它。我尝试了各种各样的东西(url在nginx中重写,url在node.js中重写)但我迷路了。
答案 0 :(得分:1)
据我了解您的问题,您可以通过Node应用提供静态内容。更好的方法是从您的Node应用程序移动静态内容,让Nginx提供静态内容。只需将静态内容(例如/ js,/ css,/ images)复制到nginx www目录中即可。在您的情况下,您将获得更好的性能,您将节省您的树莓资源。如果它会干扰您现有的www内容,请将它们移至额外目录(例如/ assets / js,/ assets / css,...)并相应地更改您的html。