我在Angular中创建了一个与MongoDB连接的应用程序。因此,我在Apache中部署了Angular应用,并且数据库在命令(本例中为npm start)下运行。
在开发应用程序时,使用连接的变量是服务器的本地IP,据我了解,如果应用程序和数据库位于同一台机器上,最好告诉应用程序连接到此计算机ip。所以我做到了,它可以在局域网中的每台计算机上工作。
后来,我也希望可以从Internet访问该应用程序,因此我正确打开了apache的端口,依此类推,但这是问题,当通过Internet访问该应用程序时,它无法使用数据库。在这种情况下,似乎用于db的本地ip url是错误的(或者我想)。因此,作为一种解决方案,我想我可以在路由器中打开数据库端口,然后将此URL用作应用程序中的变量。但是,如果我没记错的话,那也意味着我将无法在本地访问它,因为某种我不太了解的原因,无法通过Internet访问本地url,就像机器试图自己访问。
在这种情况下,理想的解决方案是什么?如何使数据库可以同时从本地和互联网访问?这里还有其他我不考虑的解决方案吗?