使用ocelot实施Apigateway的问题

时间:2019-08-02 12:26:21

标签: c# azure docker asp.net-core .net-core

我有一个基于asp.net核心的微服务项目。在此项目中,我将使用Ocelot nuget包实现API Gateway。该项目托管在我本地开发环境中的基于Linux的Docker容器中。

通过api网关测试微服务网址时,我发现错误400。

以下是配置文件:

{
    "ReRoutes": [
        {
            "DownstreamPathTemplate": "/api/{everything}",
            "DownstreamScheme": "http",
            "DownstreamHostAndPorts": [
                {
                    "Host": "authoradmin.command.api",
                    "Port": 80
                }
            ],
            "UpstreamPathTemplate": "/api/ad/{everything}",
            "UpstreamHttpMethod": [ "POST", "PUT", "GET" ]
        }
    ],
    "GlobalConfiguration": {
        "RequestIdKey": null,
        "AdministrationPath": null
    }
}

我的Docker文件如下:

authoradmin.command.api:
    image: ${DOCKER_REGISTRY-}authoradmincommandapi
    build:
    context: .
    dockerfile: CommandStack/AuthorAdmin.Command.API/Dockerfile
    depends_on:
        - rabbitmq
    links: 
        - rabbitmq

Docker替代如下:

authoradmin.command.gateway:
    environment:
        - ASPNETCORE_ENVIRONMENT=Development
        - IdentityUrl=http://identity.api
    ports:
        - "50106:80"
    volumes:
        -./CommandStack/AuthorAdmin.Command.API:/app/configuration

我需要使用apigeteway访问我的api。

0 个答案:

没有答案