dbf_usr
uniGUI Subscriber-
Posts
453 -
Joined
-
Last visited
-
Days Won
1
dbf_usr last won the day on October 27 2021
dbf_usr had the most liked content!
Profile Information
-
Gender
Male
-
Location
Ukraine
Contact Methods
-
Skype
d.dubrovin@hotmail.com
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
dbf_usr's Achievements
Advanced Member (4/4)
11
Reputation
-
Вы не сможене взаимодействовать с приложениями iOS и MAC OS. Они просто не захотят устанавливать соединения. Удалось подружить только через IIS, сертификаты прописаваются в IIS. HyperServer пока к сожалению на это не способен. Пришлось выносить в отдельное приложение и запускать его под IIS.
-
Используется последняя версия компонент на текущий момент. Удалось запустить проект, но только при помощи ISAPI и под IIS. Вывод: UNIGUI - не имеет достаточной защищенности по HTTPS, при использовании его в виде ServerStandAlone, поскольку он использует устаревший OpenSSL, который не поддерживает последние версии шифрования и сертификатов. Вы не сможете разрабатывать сервисов работающих в iOS, MacOS - они просто не принимают соединение с старым шифрованием, а ноновое UniGUI не способен. Для продакшина возможно использовать только ISAPI под IIS. Что значительно ухудшает его масштабируемость, Гипер сервер становится просто бесполезен. Готовьтесь постоянно "передергивать" IIS, потому что в инструкции по настройке ISAPI под IIS отключена функция перезапуска приложения сервером и оно будет у вас виснут. Если раньше это решалось при помощи Гипресервера, то теперь будете руками перезапускать IIS, когда к вам начнут звонить ваши клиенты и жаловаться, что сервис не работает. Интересно через сколько обращений они откажутся от вашего сервиса?
-
Используется последняя версия компонент на текущий момент. Удалось запустить проект, но только при помощи ISAPI и под IIS. Вывод: UNIGUI - не имеет достаточной защищенности по HTTPS, при использовании его в виде ServerStandAlone, поскольку он использует устаревший OpenSSL, который не поддерживает последние версии шифрования и сертификатов. Вы не сможете разрабатывать сервисов работающих в iOS, MacOS - они просто не принимают соединение с старым шифрованием, а ноновое UniGUI не способен. Для продакшина возможно использовать только ISAPI под IIS. Что значительно ухудшает его масштабируемость, Гипер сервер становится просто бесполезен. Готовьтесь постоянно "передергивать" IIS, потому что в инструкции по настройке ISAPI под IIS отключена функция перезапуска приложения сервером и оно будет у вас виснут. Если раньше это решалось при помощи Гипресервера, то теперь будете руками перезапускать IIS, когда к вам начнут звонить ваши клиенты и жаловаться, что сервис не работает. Интересно через сколько обращений они откажутся от вашего сервиса?
-
Как в SertverModule получить IP адрес клиента?
-
Собрал ISAPI приложение настроил IIS 10 по инструкции. При переходе на сайт открывается Index.html подскажите что мог пропустить или может что-то для версии IIS 10 не дописано в инструкции? Всем заранее благодарен за ответы!
-
Пишу отдельный модуль без УниГуя и туда Синапс хочу попробовать прикрутить. Скинь в приват ссылочки на библиотеки и на доки, примеры..... Спасибо огромное!!!!
-
Можно попросить подробнее про свежие DLL и про Синапс. Ссылочки в личку если можно. Заранее очень благодарен!!!
-
Потому что придется разворачивать паралельно и кластер для приложения и IIS для API. Для этого придется покупать Windows Server, сейчас у меня кластера отлично работают на обычных Windows 10. Ради запуска API - слишком дорого.
-
К сожалению IIS вообще не вариант, тогда весь смысл теряется при отказе от HyperServer. Нужно решение без использования OpenSSL который устарел и уже не поддерживается. Последняя версия библиотек за 2019 год. Скоро проблемы начнутся и с браузерами.
-
Разобрался. В проблеме виноваты кастрированные библиотеки openSSL? которые не поддерживают много всего и не важно что сертификат нормальный. Поэтому вопрос к производителем uniGUI: вы собираетесь с этим что-то делать? Написать свои библиотеки, использовать другие... Хоть какое-то решение!!! Напишите кого палкой потыкать что бы ответ получить или пора крест ставить на uniGUI? (жалко столько потраченного времени!)
-
Пишу API для мобильного приложения на iPhone, которое встраиваю в приложении написанное на uniGUI, поскольку тут уже реализована вся бизнес-логика и выясняется, что нет совместимости SSL TLS 1.2 с Apple ATM. Провел тесты тут: https://www.ssllabs.com/ssltest/ и увидел почему не работает мобильное приложение. SSL в Delphi не корректно работает. Кстате рабочие сертификаты, работающие на сайте не работают в Indy. Кто-то сталкивался с этой проблемой? Есть ли какие-то варианты решения проблема, кроме отказа от Delphi и uniGUI ? Всем за ранее благодарен за ответы!
-
Я использую 1.90.0.1556
-
Сделал простой тестовый пример. Очень жду результатов! Заранее благодарен !!!!! Error_api.zip
-
Выше описал проблему. Эта ошибка в HyperServer или ограничение? То есть нельзя использовать HyperServer с подобными приложениями? Я правильно понял?
-
При запуске приложения через HyperServer, приложение возращает вот это <HTML><BODY><B>200 OK</B></BODY></HTML> вместо JSON ответа. Если запускать приложение без HyperServer то JSON приходит корректный. Вот исправленная процедура, а ниже скрины ответа приложения. Там видно что в заголовке тип ответа меняется Content-Type: application/json; charset=utf-8 на text/html; charset=utf-8. Поэтому и появляется проблема. Видимо HyperServer переделывает заголовки и обрезает ответ. Как можно это исправить, может я опять где-то настройки не сделал? За ранее очень благодарен за ответ. procedure TUniServerModule.UniGUIServerModuleHTTPCommand( ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; var Handled: Boolean); var RequestData: TStringStream; JSONRequest: TJSONObject; sam, key,option: string; today : TDateTime; begin if ARequestInfo.Document = '/api/data' then begin RequestData := TStringStream.Create; try RequestData.LoadFromStream(ARequestInfo.PostStream); JSONRequest := TJSONObject.ParseJSONValue(RequestData.DataString) as TJSONObject; try if JSONRequest.TryGetValue<string>('sam', sam) and JSONRequest.TryGetValue<string>('key', key) then begin AResponseInfo.ContentEncoding := 'utf-8'; AResponseInfo.ContentLanguage := 'ru'; AResponseInfo.CharSet := 'utf-8'; AResponseInfo.ResponseNo := 200; AResponseInfo.ContentType := 'application/json'; if JSONRequest.TryGetValue<string>('option', option) then begin if option = 'getuser' then AResponseInfo.ContentText := UniServerModule.API_GetUser(key); // функция возвращает JSON Handled := True; if option = 'gettemplates' then AResponseInfo.ContentText := UniServerModule.API_GetTrmplates(key); // функция возвращает JSON end else AResponseInfo.ContentText := '{ "option": "error-0" }'; Handled := True; end else begin AResponseInfo.ResponseNo := 400; Handled := True; end; finally JSONRequest.Free; end; finally Handled := false; RequestData.Free; end; end else begin Handled := false; end; end;