Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Orleans Dashboard behind an AzureLoad Balancer #406

Open
weary1travler opened this issue Jul 19, 2023 · 2 comments
Open

Orleans Dashboard behind an AzureLoad Balancer #406

weary1travler opened this issue Jul 19, 2023 · 2 comments

Comments

@weary1travler
Copy link

Hello! I want to bring a little attention to placing an Orleans Dashboard behind an Application Gateway:

I've set up an Azure Application gateway pointing to an application that uses the Orleans dashboard.

Technologies being used:

  • Microsoft Application Gateway
  • Microsoft Managed Service Fabric Clusters
  • .NET version 7
  • Microsoft OrleansDashboard

Application Gateway:
I know I have the correct:

  • Backend Pools
  • Backend Settings
  • Rulesets
  • Listeners
  • Open ports, required Vnet Integrations, etc

Here's what a basic request would look for accessing the OrleansDashboard on the managed service fabric cluster

https://subdomain.domain.com/RuleWithinAppGWToForwardAllRequestsTo/orleans

First, what we experienced was what is detailed below:

image

The first request sent receives a '200' response but the subrequests following it for the OrleansDashboard all receive multiple 301s and 404s

  • First request received '200'
  • Second request and all others receive '301s' and '404s'

I found a hack basically where within the Orleans package of my application, I've added to the /Orleans and replaced it with my desired directory or path I want to use when accessing the Orleans dashboard:
siloBuilder.UseDashboard(options =>
{
options.HostSelf = true;
options.HideTrace = false;
options.ScriptPath = orleansSettings.ScriptPath;
});

ScriptPath: "/RuleWithinAppGWToForwardAllRequestsTo/orleans"

Before '/Orleans'
After within the Orleans section of my application '/RuleWithinAppGWToForwardAllRequestsTo/Orleans'
When I reupload my application to the managed service fabric cluster, it works perfectly.

My request:

Something is happening with the OrleansDashboard that it drops the /RuleWithinAppGWToForwardAllRequestsTo/ part of my request.

This is a simple hack, but I want to determine why the OrleansDashboard drops the directory I've configured in the application gateway.

@weary1travler
Copy link
Author

So I found something that might also work, which is adding a period in front of the path for the orleans ScriptPath...

options.ScriptPath = "./Orleans";

Can the script path be relative instead of absolute?

@richorama
Copy link
Member

The path is relative I believe. I have seen similar problems where adding trailing slash to the url fixes it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants