#aws-api-gateway #servicestack
#aws-api-шлюз #servicestack
Вопрос:
В настоящее время возникла проблема с ServiceStack, из-за которой он не будет запускаться в AWS api gateway после версии 5.8 с включенным протоколированием запросов. Если я отключу выход из системы запроса, все будет в порядке.
Исправлено с версии 5.10.3, спасибо mythz!
Ответ №1:
По умолчанию ServiceStack выводит базовый URL из URL-адреса входящего запроса, но вы можете настроить его на использование определенного внешнего URL-адреса с:
SetConfig(new HostConfig {
#if !DEBUG
WebHostUrl = "https://xxxx.execute-api.us-west-2.amazonaws.com/dev"
#endif
});
Кроме того, вы можете переопределить GetBaseUrl(IRequest)
в своем AppHost, чтобы изменить поведение по умолчанию во время выполнения, для которого baseUrl будет использоваться во время выполнения.
Комментарии:
1. Итак, я попытался сделать это, на самом деле дошел до следующего, чтобы убедиться, что он установлен: ` SetConfig(new HostConfig { AddRedirectParamsToQueryString = true, DebugMode = AppSettings . Get(nameof(HostConfig. DebugMode), false), WebHostUrl = » xxxx.execute-api.us-west-2.amazonaws.com/dev » }); ` Все еще получаю точно такое же поведение. Удаляет /dev при запросе в favicon. Хотелось бы, чтобы это сработало, поскольку мы действительно хотим обновить.
2. @MikeGilge Вы имеете в виду значок по умолчанию. запрос ico, который браузеры автоматически запрашивают , всегда выполняется в
/favicon.ico
домене? Или фактические недостающие ресурсы на странице / swagger-ui? Можете ли вы обновить свой ответ, включив в него необработанные заголовки HTTP-запроса / ответа страницы с проблемой и фрагмент HTML, который ее вызывает (AWS API Gateway может выполнять некоторую перезапись URL-адреса).3. Я обновил свой первоначальный пост дополнительными подробностями. Очень хотелось бы это исправить.
4.@MikeGilge Если это касается только неудачного
/favicon.ico
запроса, пожалуйста, прочтите мой предыдущий комментарий ссылка. Браузеры делают/favicon.ico
запросы с прошлого тысячелетия, вам нужно либо поместить a/favicon.ico
в корень вашего приложения, либо вы можете переопределить /swagger-ui/index.html с пользовательской версией, определяющей свой собственный значок, или если вы все еще используете старыйSwaggerApiFeature
переключатель для OpenApiFeature.5. Проблема в том, что при включенном протоколировании запросов он полностью прерывается, и я получаю белый экран смерти, отключение этой строки с комментариями заставляет его работать. Исключений нет, и нет никаких указаний на то, что не так, кроме этого глупого значка. Очень подозреваю, что если значок исправлен, он все равно умрет при следующем запуске. Я надеялся, что у вас может быть идея, почему он прерывается при переходе с версии 5.8 на что-либо более новое, поскольку он работал нормально до появления этой ОШИБКИ.