首页 > 解决方案 > 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 的设置/属性存在差异。哪些差异会导致此错误?

标签: google-cloud-platformgoogle-cloud-run

解决方案


需要为 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 服务的链接。


推荐阅读