- ABP Framework version: v9.X
- UI Type: Blazor WASM
- Database System: EF Core SQL Server
- Tiered (for MVC) or Auth Server Separated (for Angular): yes/no
- Exception message and full stack trace:
- Steps to reproduce the issue:
In the ABP 7 we successfully made deployments in public cloud (DigitalOcean) using the generated Helm charts. We modified the values.yaml file and configured the domain names, with TLS certificates using Certmanager and Lets Encrypt.
Now, the Helm charts looking totally different and seems to be used for local deployment?
Can you please give short instructions how to deploy on public cloud?
Thanks
12 Answer(s)
-
0
Hello, first of all, sorry for the late reply, we somehow missed this.
Along with the microservice template, it provides K8s configurations ready for deployment to a local or remote K8s cluster. By default, this configuration uses the Stagging .NET environment. However, you can override this and other values, as you have done before.
I have shared the documents that I think will make it easier for you to do this with you below:
- https://abp.io/docs/latest/solution-templates/microservice/helm-charts-and-kubernetes
- https://abp.io/docs/latest/studio/kubernetes#abp-studio-working-with-kubernetes
Basically, between the last version of ABP and version
7.*.*
the suffix “local” was added to the filenames because all environment variables are configured for local. You need to change them for production. In addition, the feature of building images with a different tag each time when building images has been added so that deployment can be done from scratch each time. -
0
-
0
Can you confirm whether the site has a valid certificate?
We have a document written about certification in the production environment, if you have not read it, I recommend you to take a look there. See more: https://abp.io/docs/latest/deployment/ssl
You can also find more information about deployment here.
-
0
-
0
Can you send the log record of Blazor Server? Also, if your application is tiered, can you send the log record of AuthServer and HttpApiHost?
-
0
Hi, here it comes:
Blazor Backend (K8S)
2025-02-08T13:00:38.046+01:00[myproject-blazor] Request starting HTTP/1.1 GET http://staging.mysecretdomain.com/appsettings.json - - - 2025-02-08T13:00:38.046+01:00[myproject-blazor]info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0] 2025-02-08T13:00:38.046+01:00[myproject-blazor] Executing endpoint 'Microsoft.AspNetCore.Routing.RouteEndpoint' 2025-02-08T13:00:38.046+01:00[myproject-blazor]info: Microsoft.AspNetCore.StaticAssets.StaticAssetsInvoker[6] 2025-02-08T13:00:38.046+01:00[myproject-blazor] The file appsettings.json was not modified 2025-02-08T13:00:38.046+01:00[myproject-blazor]info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1] 2025-02-08T13:00:38.046+01:00[myproject-blazor] Executed endpoint 'Microsoft.AspNetCore.Routing.RouteEndpoint' 2025-02-08T13:00:38.047+01:00[myproject-blazor]info: Microsoft.AspNetCore.Hosting.Diagnostics[2] 2025-02-08T13:00:38.047+01:00[myproject-blazor] Request finished HTTP/1.1 GET http://staging.mysecretdomain.com/appsettings.json - 304 - application/json 0.6110ms
AuthServer (K8S)
2025-02-08T13:01:51.535+01:00[myproject-authserver][12:01:51 INF] Request finished HTTP/1.1 GET http://myproject-authserver:80/metrics - 200 null application/openmetrics-text; version=1.0.0; charset=utf-8 14.5306ms 2025-02-08T13:02:06.520+01:00[myproject-authserver][12:02:06 INF] Request starting HTTP/1.1 GET http://myproject-authserver:80/metrics - null null 2025-02-08T13:02:06.525+01:00[myproject-authserver][12:02:06 INF] Executing endpoint 'Prometheus metrics' 2025-02-08T13:02:06.536+01:00[myproject-authserver][12:02:06 INF] Executed endpoint 'Prometheus metrics' 2025-02-08T13:02:06.536+01:00[myproject-authserver][12:02:06 INF] Request finished HTTP/1.1 GET http://myproject-authserver:80/metrics - 200 null application/openmetrics-text; version=1.0.0; charset=utf-8 15.9733ms
Safari developer log
[Error] Inläsningsfel av källkarta (x5) [Error] Failed to load resource: the server responded with a status of 404 () (bootstrap.min.css.map, line 0) [Error] Failed to load resource: the server responded with a status of 404 () (bootstrap.bundle.min.js.map;, line 0) [Error] Failed to load resource: the server responded with a status of 404 () (bootstrap.min.css.map, line 0) [Error] Failed to load resource: the server responded with a status of 404 () (dotnet.js.map, line 0) [Error] Failed to load resource: the server responded with a status of 404 () (dotnet.runtime.js.map, line 0) [Info] info: Volo.Abp.AbpApplicationBase[0] (dotnet.runtime.o8gq1i8bk6.js, line 3) Loaded ABP modules: [Info] info: Volo.Abp.AbpApplicationBase[0] (dotnet.runtime.o8gq1i8bk6.js, line 3) - MyProject.Blazor.Client.MyProjectBlazorClientModule [Info] info: Volo.Abp.AbpApplicationBase[0] (dotnet.runtime.o8gq1i8bk6.js, line 3) - Volo.Abp.Autofac.WebAssembly.AbpAutofacWebAssemblyModule [Info] info: Volo.Abp.AbpApplicationBase[0] (dotnet.runtime.o8gq1i8bk6.js, line 3) - Volo.Abp.Autofac.AbpAutofacModule [Info] info: Volo.Abp.AbpApplicationBase[0] (dotnet.runtime.o8gq1i8bk6.js, line 3) - Volo.Abp.Castle.AbpCastleCoreModule [Info] info: Volo.Abp.AbpApplicationBase[0] (dotnet.runtime.o8gq1i8bk6.js, line 3) - Volo.Abp.AspNetCore.Components.WebAssembly.AbpAspNetCoreComponentsWebAssemblyModule ...... ...... - MyProject.AdministrationService.MyProjectAdministrationServiceContractsModule [Info] info: Volo.Abp.AbpApplicationBase[0] (dotnet.runtime.o8gq1i8bk6.js, line 3) - Volo.Abp.Identity.Pro.Blazor.Server.WebAssembly.AbpIdentityProBlazorWebAssemblyModule [Info] info: Volo.Abp.AbpApplicationBase[0] (dotnet.runtime.o8gq1i8bk6.js, line 3) - Volo.Abp.Identity.Pro.Blazor.AbpIdentityProBlazorModule [Info] info: Volo.Abp.AbpApplicationBase[0] (dotnet.runtime.o8gq1i8bk6.js, line 3) - Volo.Abp.SettingManagement.Blazor.WebAssembly.AbpSettingManagementBlazorWebAssemblyModule [Info] info: Volo.Abp.AbpApplicationBase[0] (dotnet.runtime.o8gq1i8bk6.js, line 3) - Volo.Abp.SettingManagement.AbpSettingManagementHttpApiClientModule [Info] info: Volo.Abp.AbpApplicationBase[0] (dotnet.runtime.o8gq1i8bk6.js, line 3) - Volo.Abp.Identity.AbpIdentityHttpApiClientModule [Info] info: Volo.Abp.AbpApplicationBase[0] (dotnet.runtime.o8gq1i8bk6.js, line 3) - Volo.Abp.Account.Pro.Admin.Blazor.WebAssembly.AbpAccountAdminBlazorWebAssemblyModule [Info] info: Volo.Abp.AbpApplicationBase[0] (dotnet.runtime.o8gq1i8bk6.js, line 3) - Volo.Abp.Account.Pro.Admin.Blazor.AbpAccountAdminBlazorModule
-
0
I would like to examine it in more detail. If it is appropriate, you can send your sample application to support@abp.io with a text like below:
Please forward my mail to Berkan Sasmaz regarding ticket #8704.
-
0
I saw the mail you sent, but when I clicked on the link of your application, I could not get a meaningful result when it sent a request to localhost, but there is still something I would like you to try.
Can you update the Program class of your MyApp.Blazor project as in the picture below?
Then update your ingress file as in the picture below:
If these do not work, if you can send your project to the drive and send the link from the mail, I think we can get much faster results if it is also suitable for you.
-
0
Thanks Berkan,
I was adding suggested patch above with same results unfortunately. However, I was sending you a Onedrive link, did you manage to download it? As you say, it will simplify troubleshooting.
Best regards, Carl
-
0
-
0
I have received your e-mail now and I will review it as soon as possible and get back to you.
-
0
Hello again,
I intuitively had a few ideas after reviewing your code. Since I can't be completely sure, we will proceed with a little trial and error, sorry for that, but I think we will succeed as a result.
I see that you put the client application behind
Nginx
as below. Actually there is no need for that.When I create a Blazor Wasm project from scratch, appsettings.json is mapped as follows:
Obviously this seemed like it could be a problem.
Also, could you try my suggestions regarding from-ingress and the custom middleware I mentioned in my previous message, not in Blazor but in the AuthServer application instead? I somehow suspect that the following code is not working.
if (!configuration.GetValue<bool>("AuthServer:RequireHttpsMetadata")) { Configure<OpenIddictServerAspNetCoreOptions>(options => { options.DisableTransportSecurityRequirement = true; }); Configure<ForwardedHeadersOptions>(options => { options.ForwardedHeaders = ForwardedHeaders.XForwardedProto; // this line }); } context.Services.ForwardIdentityAuthenticationForBearer(OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme);