我的反应和角度应用程序(UI有两个部分)正在运行 在端口3000上的node / express应用程序。在server.js(node-express入口点)我动态地 处理在浏览器上使用哪个UI进行渲染(反应或角度) 表达静态功能。
早些时候我的应用程序正在运行 - https://mywebsite.com:3000/ 但是 根据要求,我们应将其更改为 - https://mywebsite.com 使用" nginx代理"处理与DevOps人但现在遇到了 实际上现在的另一个问题是使用两个url都可以访问UI https://mywebsite.com:3000/ 和 https://mywebsite.com。我希望它应该是 仅使用 https://mywebsite.com/ 即可访问。
我可以从三个地方访问我的服务器API( https://mywebsite.com:3000/api/v1 ): -
1) ios app
2) admin app (running differently)
3) and UI(Reactjs+angularjs) (https://mywebsite.com)
注意 - 无论如何通过部署过程或节点/快速服务器级别的设置来处理这个问题。我们发现一个解决方案是为UI部分创建单独的节点服务器但是根据成本削减,我们忽略了创建另一个的方法用于UI的服务器。
答案 0 :(得分:1)
假设我的域名是https://api.aegisapi.com:3000,首先,您可以检查入站意味着是否存在https(如果不存在),然后为443添加HTTPS,
然后您可以https://api.aegisapi.com运行其工作
答案 1 :(得分:0)
当您像这样运行节点服务器时 它监听所有接口,即可从外部访问的0.0.0.0。
你应该听 来自
app.listen(3000)
到
app.listen(3000, '127.0.0.1');
此外,您还应该使用IPTables阻止此端口。
答案 2 :(得分:0)
如果使用AWS EC2实例,则打开入站端口3000并打开面向公共端口的端口,例如80或443来获取用户的请求,然后当您使用nginx作为反向代理时使用它来将请求转发到端口3000.