169 похожих чатов

Добрый день. Приложение Delphi + DelphiMVCFramework предоставляет - REST

API по localhost:12345/api и
- как web сервер отдает по localhost:12345/app web приложение написанное на Dart/Flutter (лежит в подкаталоге www).

В коде это выглядит так:
WebRequestHandler.WebModuleClass := TRESTListenerWebModule;
WebRequestHandlerProc.MaxConnections := 1024;
FServer := TIdHTTPWebBrokerBridge.Create(nil);
FServer.DefaultPort:= APort;
FServer.MaxConnections:= 0;
FServer.ListenQueue:= 200;
// LGetSSLPassword := TSSLEventHandlers.Create;
// LIOHandleSSL := TIdServerIOHandlerSSLOpenSSL.Create(FServer);
// LIOHandleSSL.SSLOptions.SSLVersions := [
// TIdSSLVersion.sslvSSLv23,
// TIdSSLVersion.sslvSSLv3,
// TIdSSLVersion.sslvTLSv1,
// TIdSSLVersion.sslvTLSv1_1,
// TIdSSLVersion.sslvTLSv1_2];
// LIOHandleSSL.SSLOptions.Mode := sslmServer;
// LIOHandleSSL.SSLOptions.CertFile := 'cacert.pem';
// LIOHandleSSL.SSLOptions.RootCertFile := '';
// LIOHandleSSL.SSLOptions.KeyFile := 'privkey.pem';
// LIOHandleSSL.OnGetPassword := LGetSSLPassword.OnGetSSLPassword;
// FServer.IOHandler := LIOHandleSSL;
// FServer.OnQuerySSLPort := LGetSSLPassword.OnQuerySSLPort;
FServer.Active:= True;



FMVC := TMVCEngine.Create(Self);
FMVC.AddMiddleware(TCORSMiddleware.Create);
FMVC.AddMiddleware(TMVCStaticFilesMiddleware.Create(
'/app',
ExtractFilePath(GetModuleName(HInstance)) + 'www',
'index.html'));
FMVC.AddController(TRESTCopykeyServerController);

По http (http://localhost:12345/api и http://localhost:12345/app) все работает нормально
Но, если раскомментировать строчки, то по https (https://localhost:12345/api и https://localhost:12345/app) REST API работает нормально, а web приложение не открывается (в делфе много эксепшинов “ Not Found ”, а в консоли хрома соответственно много ошибок вида “ Failed to load resource: the server responded with a status of 404 ([EMVCException] Not Found)”).

Что я делаю неправильно?

2 ответов

58 просмотров

а что network вкладка говорит?

https://github.com/viniciussanchez/RESTRequest4Delphi

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта