Share only the sections when you hit to index and after when you get the 403 error.
Are you using tiered or non-tiered application?
Let me try to rephrase if I understand correctly,
Can you share the http request after this.configStateService.getSetting$
and the result. So where the HTTP request is done and where it is redirected. Also lets see the result. So that we can learn which microservice settings is missing.
@maliming, this can be related to the newly introduced dynamic settings store feature.
public-web sub-chart override
public-web: config: selfUrl: https://www.staging.microservice.io gatewayUrl: https://microservice-gateway-web-public ---> should be real dns like www.myapp.gateway.com
The error is related to the gateway DNS couldn't be reached over the internet since you have provided internal network service name. Please try real DNS for it and let me know if it solves your problem.
There should be a Logs folder and a log.txt file under it that keeps the application logs. Please share those logs.
1. Yes, you can run your application on HTTP like any .Net application. If you are using tiered application with a seperate AuthServer project, the AuthServer should be running on HTTPS since it is an openid-provider. 2. No, SSL certificate is not mandatory for Api.Host project. Note: SSL certificate shouldn't be much of a problem, you can generate a self-signed certificate and use it. There are lots of samples that can be found on google.
The ServiceKey is the unique service name to define the unique microservice names to show on the API definition section of swagger.
The ServiceDns is the real dns you need to provide on deployment so the API definition can find the correct swagger.json
of the related microservices.
In the template we defined it as:
{
"ServiceKey": "Account Service",
"ServiceDns": "https://authserver.myprojectname.dev",
"DownstreamPathTemplate": "/api/account/{everything}",
"DownstreamScheme": "https",
"DownstreamHostAndPorts": [
{
"Host": "localhost",
"Port": 44322
}
],
"UpstreamPathTemplate": "/api/account/{everything}",
"UpstreamHttpMethod": [ "Put", "Delete", "Get", "Post" ]
},
In version 7.4 we dropped Ocelot and started using YARP for gateways, so these properties are no longer used.
It solve partial the problem because I've the same issuues related to settings.
If I call the
this.configStateService.getSetting$
If I call this from API (gateway) my settings is empty if I look to internal microservice I see the settings....
This is not the main issue I assume.
Can you explain the problem in details? What is your expectations, what are you trying to achieve and what happens exactly?
Also can you share the request from the angular application to the gateway and the response when you make a request for this.configStateService.getSetting$
?
Share the auth-server logs. It seems like you have wrong PostLogout_Redirect_Uri
seeded.
Check the dbmigrator project and the appsettings.json of it. Make sure you have production URLs set in it which is used for redirect and post logout redirect uris.
We don't have a full guide about how to deploy Microservice template to Azure yet. But we have a public repository with build scripts and azure helm chart values at https://github.com/abpframework/eShopOnAbp/tree/main/etc/k8s/azure
Let us know if you come across any problems.