Open Closed

Tiered Application deployed in IIS #7856


User avatar
0
liyingji created
  • ABP Framework version: 8.22
  • UI Type: MVC
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:
  • Steps to reproduce the issue: I deployed my app in IIS 10, the authserver app and apihost App can be accessed, the web app did not start; Is there step by step guide to deployed tiered app for internal access; the following is logs from web app:
  • 2024-09-09 18:56:17.200 +08:00 [INF] Request starting HTTP/2 GET https://localhost:44371/ - null null 2024-09-09 18:56:17.390 +08:00 [WRN] Could not find IdentityClientConfiguration for AbpMvcClient. Either define a configuration for AbpMvcClient or set a default configuration. 2024-09-09 18:56:17.401 +08:00 [INF] Start processing HTTP request GET https://localhost:44336/api/abp/application-configuration?IncludeLocalizationResources=False&api-version=1.0 2024-09-09 18:56:17.403 +08:00 [INF] Sending HTTP request GET https://localhost:44336/api/abp/application-configuration?IncludeLocalizationResources=False&api-version=1.0 2024-09-09 18:56:17.499 +08:00 [ERR] Connection ID "18086456121505087519", Request ID "40000020-0004-fb00-b63f-84710c7967bb": An unhandled exception was thrown by the application. Volo.Abp.Http.Client.AbpRemoteCallException: An error occurred during the ABP remote HTTP request. (The SSL connection could not be established, see inner exception.) See the inner exception for details. ---> System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception. ---> System.IO.IOException: Unable to read data from the transport connection: 远程主机强迫关闭了一个现有的连接。. ---> System.Net.Sockets.SocketException (10054): 远程主机强迫关闭了一个现有的连接。 at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.CreateException(SocketError error, Boolean forAsyncThrow) at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ReceiveAsync(Socket socket, CancellationToken cancellationToken) at System.Net.Sockets.Socket.ReceiveAsync(Memory1 buffer, SocketFlags socketFlags, Boolean fromNetworkStream, CancellationToken cancellationToken) at System.Net.Sockets.NetworkStream.ReadAsync(Memory1 buffer, CancellationToken cancellationToken) at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken, Int32 estimatedSize) at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken, Int32 estimatedSize) at System.Net.Security.SslStream.ReceiveHandshakeFrameAsync[TIOAdapter](CancellationToken cancellationToken) at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) at System.Net.Security.SslStream.ReceiveHandshakeFrameAsync[TIOAdapter](CancellationToken cancellationToken) at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken) at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken) at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken) at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, Can

27 Answer(s)
  • User Avatar
    0
    liyingji created

    Can I get remote assistance!

  • User Avatar
    0
    Anjali_Musmade created
    Support Team Support Team Member

    Hello,

    Please check the similar issue https://abp.io/support/questions/4558/The-SSL-connection-could-not-be-established-see-inner-exception--BLAZOR-SERVER and check your SSL certificate once.

    Thanks,

  • User Avatar
    0
    liyingji created

    I did not using docker

  • User Avatar
    0
    liyingji created

    Can I create a new solution no tiered, and migrate current app to it:

  • User Avatar
    0
    Anjali_Musmade created
    Support Team Support Team Member

    Hello,

    Please check https://abp.io/docs/commercial/latest/startup-templates/application/deployment-iis?UI=MVC&DB=EF&Tiered=Yes if it helps you.

    Thanks

  • User Avatar
    0
    liyingji created

    I have spend nearly one month to deploy to IIS, I have followed the document too many times. Can I get remote assistance?

  • User Avatar
    0
    liyingji created

    Would you please recommend a domestic cloud service provider who is familiar with Abp tired app.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Can this URL (https://localhost:44336/api/abp/application-configuration?IncludeLocalizationResources=False&api-version=1.0) reached on your browser?

    Do you have a valid HTTPS certificate?

    https://abp.io/docs/latest/Deployment/SSL

    Please share logs of web, API, and autherver projects.

    Thanks.

  • User Avatar
    0
    liyingji created

    https://abp.io/docs/commercial/latest/startup-templates/application/deployment-iis?UI=MVC&DB=EF&Tiered=Yes

    I followed the preceding guide, now all the three app did not start; I created certificate on my computer not on the server which hosted my app, should I create certificate in the server?

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Get a SSL Certificate from a Certificate Authority

    You can get a SSL certificate from a certificate authority (CA) such as Let's Encrypt or Cloudflare and so on.

    Once you have a certificate, you need to configure your web server to use it. The following references show how to configure your web server to use a certificate.

  • User Avatar
    0
    liyingji created

    How can I deploy this App without https

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    I recommend using HTTPS. Otherwise, there may be a lot of related problems. HTTP is also unsafe.

    You can get a free HTTPS for your website.

  • User Avatar
    0
    liyingji created

    Abp is too difficult to me! I have to give it up! Thanks for your patience!

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Even if you use plain asp net core web application you need to solve the HTTPS problem. It has nothing to do with abp.

    https://learn.microsoft.com/en-us/aspnet/core/security/enforcing-ssl?view=aspnetcore-8.0&tabs=visual-studio%2Clinux-ubuntu#require-https

  • User Avatar
    0
    liyingji created

    The same certificate does not work with web app but it works with auth app and apihost;

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Can I check it remotely?

    You can join zoom and share your screen.

    Thanks https://us05web.zoom.us/j/85168939409?pwd=kcvNAdPxtvVlFdbCYgaOA3GTEg4aRE.1

  • User Avatar
    0
    alper created
    Support Team Director

    @liyingji publishing an ABP web application to IIS is almost same as publishing any ASP.NET Core Web application to IIS. There's no extra diffucdifficulty for ABP solution. Even you publish a simple ASP.NET Core application, you will see the same problems. But @maliming will try to help you to find your envenvironmental problem. And once you fix it, share your problem here, so everyone will see it and get benefit from this experience.

  • User Avatar
    0
    liyingji created

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    你好 请把三个网站的日志文件发送到 liming.ma@volosoft.com

    谢谢

  • User Avatar
    0
    liyingji created

    好的

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    我检查了, 还是HTTPS的问题, 如果你需要分层模版的原因, 你可以把API网站的IdentityModel日志级别改成Verbose, 然后重新发布到IIS, 重新登录并分享日志(identitymodel.txt).

    谢谢

    public class Program
    {
        public async static Task<int> Main(string[] args)
        {
            IdentityModelEventSource.ShowPII = true;
    
            IdentityModelEventSource.Logger.LogLevel = EventLevel.Verbose;
            var wilsonTextLogger = new TextWriterEventListener("Logs/identitymodel.txt");
            wilsonTextLogger.EnableEvents(IdentityModelEventSource.Logger, EventLevel.Verbose);
    
            Log.Logger = new LoggerConfiguration()
                .MinimumLevel.Debug()
                .MinimumLevel.Override("Microsoft", LogEventLevel.Information)
                .MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning)
                .Enrich.FromLogContext()
                .WriteTo.Async(c => c.File("Logs/logs.txt"))
                .CreateLogger();
    
    
  • User Avatar
    0
    liyingji created

    我把应用迁移到不分层的新系统,系统生成正常,系统启动后,我的应用服务都不能用,包括,身份管理模块,显示用户,一直显示加载指示,没有内容。 An unhandled exception occurred while processing the request. DependencyResolutionException: None of the constructors found on type 'Lee.PowerGrid.SubstationsAppService' can be invoked with the available services and parameters: Cannot resolve parameter 'Lee.PowerGrid.ISubstationRepository substationRepository' of constructor 'Void .ctor(Lee.PowerGrid.ISubstationRepository, Lee.PowerGrid.SubstationManager, Volo.Abp.Caching.IDistributedCache`2[Lee.PowerGrid.SubstationExcelDownloadTokenCacheItem,System.String])'.

    See https://autofac.rtfd.io/help/no-constructors-bindable for more info. Autofac.Core.Activators.Reflection.ReflectionActivator+<>c__DisplayClass14_0.

    DependencyResolutionException: An exception was thrown while activating Lee.Web.Pages.Substations.Dev.DevsubstationModel -> Lee.PowerGrid.SubstationsAppService. Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action

    Stack Query Cookies Headers Routing DependencyResolutionException: None of the constructors found on type 'Lee.PowerGrid.SubstationsAppService' can be invoked with the available services and parameters: Cannot resolve parameter 'Lee.PowerGrid.ISubstationRepository substationRepository' of constructor 'Void .ctor(Lee.PowerGrid.ISubstationRepository, Lee.PowerGrid.SubstationManager, Volo.Abp.Caching.IDistributedCache`2[Lee.PowerGrid.SubstationExcelDownloadTokenCacheItem,System.String])'. See https://autofac.rtfd.io/help/no-constructors-bindable for more info. Autofac.Core.Activators.Reflection.ReflectionActivator+<>c__DisplayClass14_0.<UseSingleConstructorActivation>b__0(ResolveRequestContext context, Action<ResolveRequestContext> next) Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder+<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context) Autofac.Core.Resolving.Middleware.DisposalTrackingMiddleware.Execute(ResolveRequestContext context, Action<ResolveRequestContext> next) Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder+<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context) Autofac.Builder.RegistrationBuilder<TLimit, TActivatorData, TRegistrationStyle>+<>c__DisplayClass41_0.<PropertiesAutowired>b__0(ResolveRequestContext context, Action<ResolveRequestContext> next) Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder+<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context) Autofac.Builder.RegistrationBuilder<TLimit, TActivatorData, TRegistrationStyle>+<>c__DisplayClass39_0.<OnActivated>b__0(ResolveRequestContext context, Action<ResolveRequestContext> next) Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder+<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context) Autofac.Extras.DynamicProxy.RegistrationExtensions+<>c__DisplayClass8_0<TLimit, TActivatorData, TSingleRegistrationStyle>.<EnableInterfaceInterceptors>b__1(ResolveRequestContext ctx, Action<ResolveRequestContext> next) Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder+<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context) Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action<ResolveRequestContext> next)

    Show raw exception details DependencyResolutionException: An exception was thrown while activating Lee.Web.Pages.Substations.Dev.DevsubstationModel -> Lee.PowerGrid.SubstationsAppService. Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action<ResolveRequestContext> next) Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder+<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context) Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder+<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context) Autofac.Core.Resolving.Middleware.SharingMiddleware.Execute(ResolveRequestContext context, Action<ResolveRequestContext> next) Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder+<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context) Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder+<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context) Autofac.Core.Resolving.Middleware.CircularDependencyDetectorMiddleware.Execute(ResolveRequestContext context, Action<ResolveRequestContext> next) Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder+<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context) Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder+<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext context) Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, ref ResolveRequest request) Autofac.Core.Resolving.ResolveOperation.ExecuteOperation(ref ResolveRequest request) Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable<Parameter> parameters, out object instance) Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable<Parameter> parameters) Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType) Volo.Abp.AspNetCore.Mvc.UI.RazorPages.ServiceBasedPageModelActivatorProvider+<>c__DisplayClass0_0.<CreateActivator>b__0(PageContext context)

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Cannot resolve parameter 'Lee.PowerGrid.ISubstationRepository substationRepository'

    这通常是没有依赖EF Core层模块导致找不到仓储方法的实现.

  • User Avatar
    0
    alper created
    Support Team Director

    I think your IIS problem is related to invalid SSL certificate and @maliming solved this issue. Can you open a new question if you ask another topic?

  • User Avatar
    0
    liyingji created

    用户还是不显示;是不是得重新创建数据库

Made with ❤️ on ABP v9.0.0-preview Updated on September 19, 2024, 10:13