我有一个包含2个Web API和一个服务器的docker-compose多容器项目,用于服务React SPA。使用SPA作为客户端,如果没有暴露在互联网上,我可以从任何api中获取数据吗?
当前,此项目已部署在Azure App Service中,我可以打开SPA网站。在我的本地计算机上,我可以运行docker-compose项目,SPA可以调用http://localhost:8080
以及http://localhost:5002
,但不能调用api1:8080
或api2:5002
。但是,服务器可以调用api1:8080
和api2:5002
。在实时(生产)中,我不能再使用localhost。相反,我可以再创建两个webapp,并将它们指向api。但是,如果我没有其他Web应用程序怎么办?我是否仍然可以直接从SPA调用这两个api?我可以使用服务器(我认为)作为SPA和两个api之间的桥梁,但是我已经有很多端点在服务器上复制它们是很多工作。
version: '2'
services:
api1:
ports:
- "8080:8080"
api2:
ports:
- "5002:80"
- "5003:443"
server:
ports:
- "80:80"
- "443:443"