Я размещаю свой BOT Framework V4 BOT на IIS.
Конфигурация сервера как ниже
- Windows Server 2012 R2
- IIS 8,5
Я также установил dotnet-hosting-2.2.1-win.exe, который необходим для размещения BOT V4. Я установил пул приложений как неуправляемый код.
Я установил путь к папке, в которой находится файл Startup.cs.
Также, пожалуйста, найдите вложение журналы, созданные BOT.
Тем не менее, это не работает ошибка, как показано ниже
Ошибка HTTP 403.14 - запрещено
Веб-сервер настроен так, чтобы не перечислять содержимое этого каталога.
Detailed Error Information:
Module DirectoryListingModule
Notification ExecuteRequestHandler
Handler StaticFile
Error Code 0x00000000
Requested URL https://myServer/ConfRoomBOT/
Physical Path ProjectPath
Logon Method Anonymous
Logon User Anonymous
Request Tracing Directory C:\inetpub\logs\FailedReqLogFiles
Ниже приведен код web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\ConfRoom.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</location>
<system.net>
<defaultProxy useDefaultCredentials="false">
<proxy usesystemdefault="False" proxyaddress="http://xx.xxx.xx.xxx:8080" bypassonlocal="True" />
</defaultProxy>
</system.net>
</configuration>
Ниже приведены журналы, созданные BOT
Среда размещения: корневой путь к производственному контенту:
E: \ Project \ DotNetCoreApps \ ConfRoomPub \ WithPII \ publish Сейчас слушаю
on: http://127.0.0.1:41826 Приложение запущено. Нажмите Ctrl + C, чтобы закрыть
вниз. информация: Microsoft.AspNetCore.Hosting.Internal.WebHost [1]
Запрос начала HTTP / 1.1 GET http://example.com/ConfRoom/ info: Microsoft.AspNetCore.Hosting.Internal.WebHost [1]
Запросить запуск HTTP / 1.1 GET http://example.com/ConfRoom/ info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware [2]
Отправка файла. Путь запроса: '/default.htm'. Физический путь: 'E: \ Project \ DotNetCoreApps \ ConfRoomPub \ WithPII \ publish \ wwwroot \ default.htm'
информация: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware [6]
Файл /default.htm не был изменен. Информация: Microsoft.AspNetCore.Hosting.Internal.WebHost [2]
Запрос завершен в 184.4402ms 304 текст / html информация: Microsoft.AspNetCore.Hosting.Internal.WebHost [2]
Запрос завершен в 188.1919ms 200 текст / html информация: Microsoft.AspNetCore.Hosting.Internal.WebHost [1]
Запрос запуска HTTP / 1.1 POST http://example.com/ConfRoom/api/messages application / json;
charset = utf-8 373 info:
Microsoft.AspNetCore.Hosting.Internal.WebHost [1]
Запрос запуска HTTP / 1.1 POST http://example.com/ConfRoom/api/messages application / json;
charset = utf-8 359 ошибка: Microsoft.AspNetCore.Server.Kestrel [13]
Идентификатор соединения "0HLJNNKCOIPS7", Идентификатор запроса "0HLJNNKCOIPS7: 00000002": необработанное исключение вызвало
приложение. System.InvalidOperationException: IDX20803: невозможно
получить конфигурацию от:
«https://login.botframework.com/v1/.well-known/openidconfiguration'.
---> System.IO.IOException: IDX20804: невозможно получить документ из:
«https://login.botframework.com/v1/.well-known/openidconfiguration'.
---> System.
время или не удалось установить соединение, так как подключенный хост имеет
не ответил
---> System.Net.Sockets.SocketException: попытка подключения не удалась, так как подключенная сторона не ответила должным образом после периода
время или не удалось установить соединение, так как подключенный хост имеет
не смог ответить на
System.Net.Http.ConnectHelper.ConnectAsync (Строковый хост, порт Int32,
CancellationToken cancellationToken) --- Конец внутреннего исключения
трассировка стека --- в
System.Net.Http.ConnectHelper.ConnectAsync (Строковый хост, порт Int32,
Отмена взята Отмена взята) в
System.Threading.Tasks.ValueTask 1.get_Result() at
System.Net.Http.HttpConnectionPool.CreateConnectionAsync(HttpRequestMessage
request, CancellationToken cancellationToken) at
System.Threading.Tasks.ValueTask
1.get_Result () в
System.Net.Http.HttpConnectionPool.WaitForCreatedConnectionAsync (ValueTask 1
creationTask) at System.Threading.Tasks.ValueTask
1.get_Result ()
в
System.Net.Http.HttpConnectionPool.SendWithRetryAsync (HttpRequestMessage
request, Boolean doRequestAuth, CancellationToken cancellationToken)
в System.Net.Http.RedirectHandler.SendAsync (HttpRequestMessage
запрос, CancellationToken CancellationToken) в
System.Net.Http.HttpClient.FinishSendAsyncBuffered (Task 1 sendTask,
HttpRequestMessage request, CancellationTokenSource cts, Boolean
disposeCts) at
Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(String
address, CancellationToken cancel) --- End of inner exception stack
trace --- at
Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(String
address, CancellationToken cancel) at
Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfigurationRetriever.GetAsync(String
address, IDocumentRetriever retriever, CancellationToken cancel) at
Microsoft.IdentityModel.Protocols.ConfigurationManager
1.GetConfigurationAsync (CancellationToken
отмена) --- конец трассировки стека внутренних исключений --- в
Microsoft.IdentityModel.Protocols.ConfigurationManager 1.GetConfigurationAsync(CancellationToken
cancel) at
Microsoft.IdentityModel.Protocols.ConfigurationManager
1.GetConfigurationAsync ()
в
Microsoft.Bot.Connector.Authentication.JwtTokenExtractor.ValidateTokenAsync (String
jwtToken, String channelId) вMicrosoft.Bot.Connector.Authentication.JwtTokenExtractor.GetIdentityAsync (String
схема, параметр String, идентификатор String channelId) в
Microsoft.Bot.Connector.Authentication.JwtTokenExtractor.GetIdentityAsync (String
authorizationHeader, String channelId) в
Microsoft.Bot.Connector.Authentication.ChannelValidation.AuthenticateChannelToken (String
authHeader, учетные данные ICredentialProvider, HttpClient httpClient,
String channelId) в
Microsoft.Bot.Connector.Authentication.ChannelValidation.AuthenticateChannelToken (String
authHeader, учетные данные ICredentialProvider, String serviceUrl,
HttpClient httpClient, String channelId) в
Microsoft.Bot.Connector.Authentication.JwtTokenValidation.ValidateAuthHeader (String
authHeader, учетные данные ICredentialProvider, IChannelProvider
channelProvider, String channelId, String serviceUrl, HttpClient
httpClient) в
Microsoft.Bot.Connector.Authentication.JwtTokenValidation.AuthenticateRequest (IActivity
активность, String authHeader, учетные данные ICredentialProvider,
Поставщик IChannelProvider, httpClient HttpClient) в
Microsoft.Bot.Builder.BotFrameworkAdapter.ProcessActivityAsync (String
authHeader, Activity Activity, обратный вызов BotCallbackHandler,
Отмена взята Отмена взята) в
Microsoft.Bot.Builder.Integration.AspNet.Core.Handlers.BotMessageHandler.ProcessMessageRequestAsync (HttpRequest
запрос, адаптер IAdapterIntegration, BotCallbackHandler
botCallbackHandler, CancellationToken CancellationToken) в
Microsoft.Bot.Builder.Integration.AspNet.Core.Handlers.BotMessageHandlerBase.HandleAsync (HttpContext
httpContext) в
Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.Invoke (HttpContext
контекст) в
Microsoft.AspNetCore.Server.IISIntegration.IISMiddleware.Invoke (HttpContext
httpContext) в
Microsoft.AspNetCore.Builder.Extensions.UsePathBaseMiddleware.Invoke (HttpContext
контекст) в
Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests [TContext] (IHttpApplication 1
application) fail: Microsoft.AspNetCore.Server.Kestrel[13]
Connection id "0HLJNNKCOIPS6", Request id "0HLJNNKCOIPS6:00000002": An unhandled exception was thrown by the
application. System.InvalidOperationException: IDX20803: Unable to
obtain configuration from:
'https://login.botframework.com/v1/.well-known/openidconfiguration'.<br>
at
Microsoft.IdentityModel.Protocols.ConfigurationManager
1.GetConfigurationAsync (CancellationToken
отменить) в
Microsoft.IdentityModel.Protocols.ConfigurationManager 1.GetConfigurationAsync()
at
Microsoft.Bot.Connector.Authentication.JwtTokenExtractor.ValidateTokenAsync(String
jwtToken, String channelId) at
Microsoft.Bot.Connector.Authentication.JwtTokenExtractor.GetIdentityAsync(String
scheme, String parameter, String channelId) at
Microsoft.Bot.Connector.Authentication.JwtTokenExtractor.GetIdentityAsync(String
authorizationHeader, String channelId) at
Microsoft.Bot.Connector.Authentication.ChannelValidation.AuthenticateChannelToken(String
authHeader, ICredentialProvider credentials, HttpClient httpClient,
String channelId) at
Microsoft.Bot.Connector.Authentication.ChannelValidation.AuthenticateChannelToken(String
authHeader, ICredentialProvider credentials, String serviceUrl,
HttpClient httpClient, String channelId) at
Microsoft.Bot.Connector.Authentication.JwtTokenValidation.ValidateAuthHeader(String
authHeader, ICredentialProvider credentials, IChannelProvider
channelProvider, String channelId, String serviceUrl, HttpClient
httpClient) at
Microsoft.Bot.Connector.Authentication.JwtTokenValidation.AuthenticateRequest(IActivity
activity, String authHeader, ICredentialProvider credentials,
IChannelProvider provider, HttpClient httpClient) at
Microsoft.Bot.Builder.BotFrameworkAdapter.ProcessActivityAsync(String
authHeader, Activity activity, BotCallbackHandler callback,
CancellationToken cancellationToken) at
Microsoft.Bot.Builder.Integration.AspNet.Core.Handlers.BotMessageHandler.ProcessMessageRequestAsync(HttpRequest
request, IAdapterIntegration adapter, BotCallbackHandler
botCallbackHandler, CancellationToken cancellationToken) at
Microsoft.Bot.Builder.Integration.AspNet.Core.Handlers.BotMessageHandlerBase.HandleAsync(HttpContext
httpContext) at
Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.Invoke(HttpContext
context) at
Microsoft.AspNetCore.Server.IISIntegration.IISMiddleware.Invoke(HttpContext
httpContext) at
Microsoft.AspNetCore.Builder.Extensions.UsePathBaseMiddleware.Invoke(HttpContext
context) at
Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication
1
приложение) информация: Microsoft.AspNetCore.Hosting.Internal.WebHost [2]
Запрос завершен в 21679,9889ms 500 info: Microsoft.AspNetCore.Hosting.Internal.WebHost [2]
Запрос завершен в 14958.2414ms 500 info: Microsoft.AspNetCore.Hosting.Internal.WebHost [1]
Запрос стартового HTTP / 1.1 POST http://127.0.0.1:41826/CONFROOM/iisintegration 0 info:
Microsoft.AspNetCore.Hosting.Internal.WebHost [2]
Запрос завершен за 0,373 мс 202 Приложение закрывается ...
Пожалуйста, помогите.
Спасибо.