Steve
Steve

Reputation: 1117

Service Fabric Reverse Proxy HTTP Not Found

I have a SF project where I have two public services that are secured with HTTPS, and multiple "private" services that are not.

I'm running into an issue when I try to do a reverse proxy call to one of my public services from one of my private services I get a 404 Not Found.

The services are written in .Net core 3.1 and I use kestrel as my web server.

I'm presuming the issue has to do with the fact that my public service cannot be reached by the proxy because of the fact the HTTPS port is the only port being listened on by the kestrel server.

How would I allow kestrel to allow for HTTP calls from the reverse proxy and the public HTTPS endpoint?

Upvotes: 1

Views: 496

Answers (2)

jasper
jasper

Reputation: 3474

It also turns out for at least SF v 8.0.521.9590, the reverse proxy doesn't like spaces in listener names. When you specify the ListenerName with a space, it returns a 404.

// fails
yield return new ServiceInstanceListener(CreateSoapListener, "SOAP listener");
yield return new ServiceInstanceListener(CreateRestListener, "REST listener");

http://localhost:19081/ServiceInstanceName/Suffix?ListenerName=SOAP%20listener

// works
yield return new ServiceInstanceListener(CreateSoapListener, "SOAP");
yield return new ServiceInstanceListener(CreateRestListener, "REST");

http://localhost:19081/ServiceInstanceName/Suffix?ListenerName=SOAP

Upvotes: 0

Steve
Steve

Reputation: 1117

I found the answer over here on this question.

Just again too re-iterate the importance of setting the unique name for ServiceInstanceListener.

Upvotes: 1

Related Questions