来自Java世界,基于WAR文件名设置基于Servlet的应用程序上下文路径,我试图了解在Node.js中定义上下文路径的最佳实践.
有问题的Node应用程序没有在代码中定义的上下文路径.例如,Express代码假定获取故事的请求具有路径为/ story / 1的URL.因此,JavaScript UI代码会向http://host:port/story/1发出请求.同样,对于用户连接到主应用程序页面,它们将转到http://host:port/.
我想将用户看到的URL更改为http://host:port/myapp.问题是如何将“myapp”一致地定义为应用程序上下文.我正在考虑的选项:
>在Express.js代码中定义上下文.
>在Nginx代理服务器中定义上下文.
如何确保用户始终在URL中看到“myapp”?我是否还需要重新映射所有内部请求(由UI代码生成的请求)以具有’/ myapp’上下文?
使用Nginx看起来更干净,因为它不需要更改代码.但是这个目标可以通过Nginx配置单独实现,如果是这样,怎么样?
由于这是一个常见问题,因此必须有一个明确定义的模式来解决它.
最佳答案