【问题标题】:.Net Core Web Api deployed successfully in AWS, but URL is not working.Net Core Web Api 在 AWS 中成功部署,但 URL 不起作用
【发布时间】:2021-11-03 12:40:21
【问题描述】:

创建了.Net Core Web App

.Net Core web application 包含多个项目,但我部署了一个 API 项目。错误:HTTP ERROR 404 没有找到该网址的网页:http://....

BeanStalk 详细信息如上所示。

Amazon S3 详细信息如上所示。 我的疑问是,有一些权限问题或 URL 需要限定 完全用于 API 调用。

EC2 实例运行良好。

launchsettings.json

{
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:19095",
      "sslPort": 44327
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "DATABASE_NAME": "FYP",
        "PROFILE_COLLECTION_NAME": "Profiles",
        "MAIL_COLLECTION_NAME": "Mailes",
        "INTERESTSENT_COLLECTION_NAME": "InterestSents",
        "INTERESTRECIEVED_COLLECTION_NAME": "InterestRecieveds",
        "SEEN_COLLECTION_NAME": "Seens",
        "SHORTLIST_COLLECTION_NAME": "Shortlists",
        "SKIP_COLLECTION_NAME": "Skips",
        "CHATBOT_COLLECTION_NAME": "Chatbots",
        "MEMBERSHIP_COLLECTION_NAME": "Memberships",
        "NOTIFICATION_COLLECTION_NAME": "Notifications",
        "SETTINGS_COLLECTION_NAME": "Settings",
        "SUPPORT_COLLECTION_NAME": "Supports",
        "USERACTION_COLLECTION_NAME": "UserActions",
        "USERCHAT_COLLECTION_NAME": "UserChats",
        "VERIFICATION_COLLECTION_NAME": "Verifications"
      }
    },
    "Matrimony.Api": {
      "commandName": "Project",
      "dotnetRunMessages": "true",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "applicationUrl": "https://localhost:5001;http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "DATABASE_NAME": "FYP",
        "PROFILE_COLLECTION_NAME": "Profiles",
        "MAIL_COLLECTION_NAME": "Mailes",
        "INTERESTSENT_COLLECTION_NAME": "InterestSents",
        "INTERESTRECIEVED_COLLECTION_NAME": "InterestRecieveds",
        "SEEN_COLLECTION_NAME": "Seens",
        "SHORTLIST_COLLECTION_NAME": "Shortlists",
        "SKIP_COLLECTION_NAME": "Skips",
        "CHATBOT_COLLECTION_NAME": "Chatbots",
        "MEMBERSHIP_COLLECTION_NAME": "Memberships",
        "NOTIFICATION_COLLECTION_NAME": "Notifications",
        "SETTINGS_COLLECTION_NAME": "Settings",
        "SUPPORT_COLLECTION_NAME": "Supports",
        "USERACTION_COLLECTION_NAME": "UserActions",
        "USERCHAT_COLLECTION_NAME": "UserChats",
        "VERIFICATION_COLLECTION_NAME": "Verifications"
      }
    }
  },
  "Kestrel": {
    "Endpoints": {
      "Http": {
        "Url": "http://+:5001"
      }
    }
  }
}

【问题讨论】:

    标签: .net amazon-web-services amazon-elastic-beanstalk


    【解决方案1】:

    您是否尝试过为请求启用任何 url?

    例如

    ASPNETCORE_URLS=http://+:5001
    Kestrel:EndPoints:Http:Url=http://+:5001
    

    这是 appsettings.json 文件中的示例以及resource 的链接:

    {
      "Kestrel": {
        "Endpoints": {
          "Http": {
            "Url": "http://+:5001"
          }
        }
      }
    }
    

    或者,如果您在 docker 容器中,您可以将其设置为 Dockerfile 中的环境变量:

    ENV ASPNETCORE_URLS=http://+:5001
    ENV ASPNETCORE_ENVIRONMENT=Production
    ENV Kestrel:EndPoints:Http:Url=http://+:5001
    

    【讨论】:

    • 不,我必须在哪里执行此操作? launchsettings.json 或 aws
    • 您好,您可以将它们放在 appsettings.json 文件中。我已经更新了我的答案。
    • 我已更新更改,但仍无法正常工作。请检查一下。
    • 这确实解决了我的问题,我在AWS的部署说明中找不到任何地方提到它。谢谢!
    猜你喜欢
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    • 2018-03-02
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    相关资源
    最近更新 更多