尽管我设置了直接出口 VPC 连接,但我似乎无法将流量从一个云运行服务发送到另一个云运行服务。
我目前正在运行 2 个云服务(客户端和服务器)。
服务器配置为仅允许通过 Privacy Service Connect 服务 (psc) 进行内部流量。
psc 在 consumer vpc 中公开可在 10.0.0.2 访问的端点,并在连接到内部负载均衡器 (ilb) 的单独 Producer vpc 中发布服务,该负载均衡器将流量引导至 服务器。
客户端的入口控制设置为允许所有流量,因为它是公共网络应用程序。在 client 上启用了consumer vpc 的直接 VPC 出口。
最后,我在私有区域中创建了一条 DNS A 记录,将server's *run.app url 映射到 psc's 消费者 IP 地址 10.0.0.2.
每次client 使用其 run.app url 向服务器发出请求时,都会引发 CORS 错误。
Access to XMLHttpRequest at 'https://test-development-enterprise-api-ummzxs4jpa-ez.a.run.app/api/auth/passwordless' from origin 'https://psc-consumer-ummzxs4jpa-ez.a.run.app' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
奇怪的是,我可以通过 sshing 到我在消费者网络中生成的虚拟虚拟机来成功向 server 发出请求。
ify@psc-consumer-2:~$ curl -k https://test-development-enterprise-api-ummzxs4jpa-ez.a.run.app/api/health
{"message":"Healthy Services","uptime":"5:3:46"}
知道这里可能出现什么问题吗?如果需要的话,我很乐意改变我的方法。
如果有些事情没有意义,请提前道歉,因为我对云网络还很陌生。
解决 @remedy_man 发布的问题是使用“service-a 的后端作为前端来代理对 service-b 的请求”