powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Proxy и свой сертификат SSL
4 сообщений из 4, страница 1 из 1
Proxy и свой сертификат SSL
    #40068535
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго дня,

хотел протестировать код на предмет работы через прокси.
1. Подняли свой прокси во внутренней сетке, и в ней же пробую обратиться к локальному адресу допустим 192.168.0.89 на порт 2017 к своему же сервису написанному на Delphi + Indy.
2. SSL сертификат сгенерировали сами, потом зарегистрировали на этой же машине как доверенный.
И тестиерумый сервис и клиент крутятся на одной и той же машине 192.168.0.89, сервис висит на порту 2017, прокси отдельная машина в той же сети (допустим 192.168.0.89:3128 без авторизации). Без прокси клиент соединяется с сервисом и всё работает как задумано. Как только вкючаю работу через прокси вываливает ошибку 503 Сервис недоступен. В чём может быть проблема?
Я грешу на самоподписанный сертификат, можно его проверку подлинности как то отключить в коде? Я попробовал на событие OnVerifyPeer повесить свою обработку и всегда возвращать True но он туда даже не заходит. Всё обрывается где то раньше. Админ говорит Proxy HTTP (не SOCKS4 или 5). Если регистрирую этот прокси в винде 10 (адрес, порт, убираю автоопределение, поле пользователя и пароль оставляю пустыми, чекбокс не использовать для локальных адресов оставляю не отмеченным) то при обращении через броузер https://localhost:2017/test получаю сообщение NET::ERR_CERT_COMMON_NAME_INVALID но далее могу зайти.
Посоветуйте как тут действовать, уже день убил на различные танцы, время давит.
Код:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
// переопределение реакции на OnVerifyPeer
function TSecLicenseUpdate.VerifyPeer(Certificate: TIdX509; AOk: Boolean; ADepth, AError: Integer): Boolean;
begin
  // Сюда даже не заходит
  Result := True; //AOk;
end;

function TSecLicenseUpdate.HTTPPost (AUrl: string; AParams: string;
  var AResponse: string; var AError: string): boolean;
var
  IdHTTP: TIdHTTP;
  Parameters: TStringStream;
  lIOHandlerSSL : TIdSSLIOHandlerSocketOpenSSL;
begin
  IdHTTP := TIdHTTP.Create (nil);
  Parameters := TStringStream.Create (AParams {пустая строка''}, TEncoding.UTF8);
  try
    try
      lIOHandlerSSL := TIdSSLIOHandlerSocketOpenSSL.Create (IdHTTP);
      lIOHandlerSSL.sslOptions.SSLVersions := [sslvTLSv1_2];
      lIOHandlerSSL.sslOptions.VerifyMode := [];
      lIOHandlerSSL.sslOptions.VerifyDepth := 0;
      lIOHandlerSSL.sslOptions.Mode := sslmUnassigned;

      if not StrEmpty(Params.ProxyServer)  then begin

          // если сюда не заходить всё работает
          lIOHandlerSSL.OnVerifyPeer := VerifyPeer; // переопределение реакции на OnVerifyPeer дабы соглашаться с левым сертификатом
          // IdHTTP.ProxyParams.BasicAuthentication := пробовал и True и False не помогло;
          IdHTTP.ProxyParams.ProxyServer               := Params.ProxyServer; //192.168.0.208
          IdHTTP.ProxyParams.ProxyPort                   := Params.ProxyPort;    //3128
          //IdHTTP.ProxyParams.ProxyUsername        := Params.ProxyUsername;
          //IdHTTP.ProxyParams.ProxyPassword         := Params.ProxyPassword;
        end;

      IdHTTP.IOHandler := lIOHandlerSSL;

      AResponse := idHTTP.Post(AUrl {https://localhost:2017/Test}, Parameters); // тут вываливает исключение EIdHTTPProtocolException 'HTTP/1.1 503 Сервис недоступен'
.....


...
Рейтинг: 0 / 0
Proxy и свой сертификат SSL
    #40068572
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так кто вываливает 503? Сервис или прокся?
Снифай трафик, чтобы выяснить, на каком этапе затык.
А вместо индей, где хз чего наворочено, в качестве клиента юзай curl в режиме максимально подробного вывода
...
Рейтинг: 0 / 0
Proxy и свой сертификат SSL
    #40068589
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://onoutbukax.ru/net-err-cert-common-name-invalid/
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Proxy и свой сертификат SSL
    #40068627
hlopotun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос снят, посмотрел лог на proxy и увидел что обращение на localhost идёт. Откуда прокси знать где мой localhost :)
Как всегда, ищещь что то сложное а проблема перед носом и простая.

Спасибо за участие.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Proxy и свой сертификат SSL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]