मैं अपने अनुप्रयोगों को रूट करने के लिए अपने गेटवे ऐप में Yarp का उपयोग करने का प्रयास कर रहा हूं। हालाँकि जैसे ही यह शुरू होता है, मुझे "रूट '0' के लिए होस्ट या निर्दिष्ट पथ की आवश्यकता होती है। सभी अनुरोधों से मेल खाने के लिए पथ को '/{**catchall}' पर सेट करें।"

यहाँ मेरी ऐप सेटिंग्स फ़ाइल है:

 "ReverseProxy": {
    "Routes": [
      {
        "SampleService": {
          "ClusterId": "SampleService-cluster1",
          "Match": {
            "Host": "localhost",
            "Path": "sample/{**catchall}"
          }
        },
        "NotificationService": {
          "ClusterId": "NotificationService-cluster",
          "Match": {
            "Host": "localhost",
            "Path": "api/NotificationService/{**catchall}"
          }
        }
      }
    ],
    "Clusters": {
      "SampleService-cluster1": {
        "Destinations": { "SampleService-cluster1/destination1": { "Address": "http://127.0.0.1:6500" } }
      },
      "NotificationService-cluster": {
        "Destinations": { "NotificationService-cluster/destination1": { "Address": "http://*:6020" } }
      }
    }
  }

सेवाओं को कॉन्फ़िगर करें:

public void ConfigureServices(IServiceCollection services)
        {
            services.AddHttpClient();
            services.AddCors(options =>
            {
                options.AddPolicy("any", builder =>
                {
                    builder.AllowAnyOrigin()
                           .AllowAnyMethod()
                           .AllowAnyHeader();
                });
            });

            services.AddControllers();

            services.AddTelemetryConsumer<ForwarderTelemetry>();

            services.AddReverseProxy()
                .LoadFromConfig(Configuration.GetSection("ReverseProxy"));
        }

और मुझे यह मिलता है: System.InvalidOperationException

तो कोई विचार मैं इसे कैसे ठीक कर सकता हूं?

1
Mhaz2000 25 पद 2021, 12:15

1 उत्तर

सबसे बढ़िया उत्तर

v1.0.0-preview11 जिस तरह से Routes कॉन्फ़िगर किया गया है। आपको अपनी सेटिंग अपडेट करनी होगी.

"ReverseProxy": {
  "Routes": {
    "SampleService": {
      "ClusterId": "SampleService-cluster1",
      "Match": {
        "Host": "localhost",
        "Path": "sample/{**catchall}"
      }
    },
    "NotificationService": {
      "ClusterId": "NotificationService-cluster",
      "Match": {
        "Host": "localhost",
        "Path": "api/NotificationService/{**catchall}"
      }
    }
  },
  "Clusters": {
    "SampleService-cluster1": {
      "Destinations": { "SampleService-cluster1/destination1": { "Address": "http://127.0.0.1:6500" } }
    },
    "NotificationService-cluster": {
      "Destinations": { "NotificationService-cluster/destination1": { "Address": "http://*:6020" } }
    }
  }
}
0
Kahbazi 25 पद 2021, 14:22
धन्यवाद। इसने काम किया।
 – 
Mhaz2000
25 पद 2021, 14:38