google-cloud-platform - Asp.net Core 无法确定重定向的 https 端口
问题描述
我在 .net Core 5.0 中为谷歌云编写了一个 Asp Web 应用程序。使用以下命令将应用程序部署为 CloudRun
gcloud run deploy cdm-viewer-wacore --image gcr.io/mot-cz-test/mot-cdm-viewer-wacore:v48 --platform managed --vpc-connector mot-test-connector --region=europe-west1 --project=project1 --set-env-vars=ProjectId=project1
该应用程序在project1中正常工作,但是在另一个项目(project2)中部署到相同的图像时,应用程序给出了错误消息
Failed to determine the https port for redirect.
很明显,项目之间 cloudrun 的设置/属性存在差异。哪些差异会导致此错误?
解决方案
需要为 Cloud Run 设置权限以从其他项目中提取容器映像。
对于工件注册表:
成员:
serviceAccount:service-@serverless-robot-prod.iam.gserviceaccount.com role: roles/artifactregistry.reader
对于容器注册表:
成员:
serviceAccount:service-@serverless-robot-prod.iam.gserviceaccount.com role: roles/storage.objectViewer
还要确保你有“<strong>app.UseHttpsRedirection();” 在您的Startup.cs配置中。
如果您在容器输出中看到“<strong>无法确定重定向的 https 端口”,请将其添加到您的 ConfigureServices(): services.AddHttpsRedirection(opt => opt.HttpsPort = 443);
请参阅Https 重定向和使用来自另一个项目的图像部署Cloud Run 服务的链接。
推荐阅读
- firebase - 将来自 Firestore 的文档存储在列表中
- c# - 如何对 C# DateTime 相关函数时区独立进行单元测试?
- sql - PostgreSQL 从 3 个多对多表中选择
- java - gRPC-java服务器在负载下处理请求和发送响应的延迟
- python - 关闭连接会导致存储过程更改回滚
- javascript - 如何在 html 中显示从烧瓶返回的字符串?
- spring - Spring HATEOAS,如何在不淹没数据库的情况下处理到实体的转换链接
- sql - SQL中使用case语句的两个不同列的两个不同条件
- newrelic - New Relic 基于自定义事件创建警报
- list - Haskell 列表到单一子列表