Первый https запрос через HttpWebRequest
От: -Cheese-  
Дата: 25.10.17 14:15
Оценка:
Всем привет!
Наблюдаю следующую проблему: первый запрос через HttpWebRequest на сайт с ssl происходит с таймаутом около 30 секунд. Все следующие запросы проходят быстро.
В нете нарыл, что это таймаут при проверке сертификата в ревокейшен листе, когда на машине нет интернета. Так и есть. С машины доступ есть только в локальной сети.
Как это можно выключить?
В эксплорере проверку выключил — не помогает. В самом приложении делаю
ServicePointManager.CheckCertificateRevocationList = false;

тоже эффекта нет.
Кто-то сталкивался с подобным?
.net https
Re: Первый https запрос через HttpWebRequest
От: yenik  
Дата: 25.10.17 17:31
Оценка:
Здравствуйте, -Cheese-, Вы писали:

C>Всем привет!

C>Наблюдаю следующую проблему: первый запрос через HttpWebRequest на сайт с ssl происходит с таймаутом около 30 секунд. Все следующие запросы проходят быстро.
C>В нете нарыл, что это таймаут при проверке сертификата в ревокейшен листе, когда на машине нет интернета. Так и есть. С машины доступ есть только в локальной сети.
C>Как это можно выключить?
C>В эксплорере проверку выключил — не помогает. В самом приложении делаю
C>
C>ServicePointManager.CheckCertificateRevocationList = false;
C>

C>тоже эффекта нет.
C>Кто-то сталкивался с подобным?

Попробуй request.Proxy = null;
https://stackoverflow.com/questions/2519655/httpwebrequest-is-extremely-slow
Re[2]: Первый https запрос через HttpWebRequest
От: -Cheese-  
Дата: 25.10.17 17:39
Оценка:
Здравствуйте, yenik, Вы писали:

Y>Попробуй request.Proxy = null;

Y>https://stackoverflow.com/questions/2519655/httpwebrequest-is-extremely-slow

Пробовал. Не помогло
Re: Первый https запрос через HttpWebRequest
От: k010mb0  
Дата: 25.10.17 17:46
Оценка: +1
Здравствуйте, -Cheese-, Вы писали:

30 сек это таймаут по умолчанию для подключения. Поставьте wireshark например и посмотрите куда именно идёт подключение, и где задержка. Может будет понятнее, что чинить.

C>Всем привет!

C>Наблюдаю следующую проблему: первый запрос через HttpWebRequest на сайт с ssl происходит с таймаутом около 30 секунд. Все следующие запросы проходят быстро.
C>В нете нарыл, что это таймаут при проверке сертификата в ревокейшен листе, когда на машине нет интернета. Так и есть. С машины доступ есть только в локальной сети.
C>Как это можно выключить?
C>В эксплорере проверку выключил — не помогает. В самом приложении делаю
C>
C>ServicePointManager.CheckCertificateRevocationList = false;
C>

C>тоже эффекта нет.
C>Кто-то сталкивался с подобным?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re: Первый https запрос через HttpWebRequest
От: k010mb0  
Дата: 25.10.17 18:01
Оценка:
Здравствуйте, -Cheese-, Вы писали:

можете попробовать ещё так:
ServicePointManager.ServerCertificateValidationCallback = (a, b, c, d) => { return true; };


C>Всем привет!

C>Наблюдаю следующую проблему: первый запрос через HttpWebRequest на сайт с ssl происходит с таймаутом около 30 секунд. Все следующие запросы проходят быстро.
C>В нете нарыл, что это таймаут при проверке сертификата в ревокейшен листе, когда на машине нет интернета. Так и есть. С машины доступ есть только в локальной сети.
C>Как это можно выключить?
C>В эксплорере проверку выключил — не помогает. В самом приложении делаю
C>
C>ServicePointManager.CheckCertificateRevocationList = false;
C>

C>тоже эффекта нет.
C>Кто-то сталкивался с подобным?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[2]: Первый https запрос через HttpWebRequest
От: -Cheese-  
Дата: 26.10.17 06:31
Оценка:
Здравствуйте, k010mb0, Вы писали:

K>30 сек это таймаут по умолчанию для подключения. Поставьте wireshark например и посмотрите куда именно идёт подключение, и где задержка. Может будет понятнее, что чинить.

Поставил. Проанализировал и убедился, что запросы ломятся на IP, которые гуглятся как ревокейш листы. Поэтому догадка была верная.
Осталось понять как это выключить
Re[3]: Первый https запрос через HttpWebRequest
От: Shmj Ниоткуда  
Дата: 26.10.17 10:19
Оценка:
Здравствуйте, -Cheese-, Вы писали:

C>Поставил. Проанализировал и убедился, что запросы ломятся на IP, которые гуглятся как ревокейш листы. Поэтому догадка была верная.

C>Осталось понять как это выключить

Попадались кастомные либы с реализацией HTTPS-взаимодействия, на крайний случай можно их.

.Net вызывает ServerCertificateValidationCallback уже после проверок, так что вряд ли поможет...
Re: Первый https запрос через HttpWebRequest
От: -Cheese-  
Дата: 27.10.17 06:07
Оценка: 1 (1)
Здравствуйте, -Cheese-, Вы писали:

C>Всем привет!

C>Наблюдаю следующую проблему: первый запрос через HttpWebRequest на сайт с ssl происходит с таймаутом около 30 секунд. Все следующие запросы проходят быстро.
C>В нете нарыл, что это таймаут при проверке сертификата в ревокейшен листе, когда на машине нет интернета. Так и есть. С машины доступ есть только в локальной сети.
C>Как это можно выключить?
C>В эксплорере проверку выключил — не помогает. В самом приложении делаю
C>
C>ServicePointManager.CheckCertificateRevocationList = false;
C>

C>тоже эффекта нет.
C>Кто-то сталкивался с подобным?


Нашёл решение. Пользуйтесь на здоровье
https://support.microsoft.com/en-us/help/2677070/an-automatic-updater-of-untrusted-certificates-is-available-for-window
Саму проблему утранить не получится таким путём, но таймаут уменьшить до приемлимого значения можно
Re[2]: Первый https запрос через HttpWebRequest
От: sergeya Ниоткуда http://blogtani.ru
Дата: 27.10.17 12:17
Оценка:
Здравствуйте, -Cheese-, Вы писали:

C>Нашёл решение. Пользуйтесь на здоровье

C>https://support.microsoft.com/en-us/help/2677070/an-automatic-updater-of-untrusted-certificates-is-available-for-window
C>Саму проблему утранить не получится таким путём, но таймаут уменьшить до приемлимого значения можно

С этими настройками не экспериментировал? — https://technet.microsoft.com/en-us/library/cc753863(v=ws.11).aspx

Там есть интересная опция "Always prefer Certificate Revocation Lists over Online Certificate Status Protocol (OCSP) responses (not recommended)"
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re: Первый https запрос через HttpWebRequest
От: k010mb0  
Дата: 27.10.17 16:45
Оценка:
Здравствуйте, -Cheese-, Вы писали:

А вы пробовали установить сертификат сервера как доверенный локально на машину откуда делаете запросы? чтобы не нужно было за ним в интернет ходить.

C>Всем привет!

C>Наблюдаю следующую проблему: первый запрос через HttpWebRequest на сайт с ssl происходит с таймаутом около 30 секунд. Все следующие запросы проходят быстро.
C>В нете нарыл, что это таймаут при проверке сертификата в ревокейшен листе, когда на машине нет интернета. Так и есть. С машины доступ есть только в локальной сети.
C>Как это можно выключить?
C>В эксплорере проверку выключил — не помогает. В самом приложении делаю
C>
C>ServicePointManager.CheckCertificateRevocationList = false;
C>

C>тоже эффекта нет.
C>Кто-то сталкивался с подобным?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[2]: Первый https запрос через HttpWebRequest
От: -Cheese-  
Дата: 27.10.17 17:29
Оценка:
Здравствуйте, k010mb0, Вы писали:

K>Здравствуйте, -Cheese-, Вы писали:


K>А вы пробовали установить сертификат сервера как доверенный локально на машину откуда делаете запросы? чтобы не нужно было за ним в интернет ходить.


Внутренних https серверов много и каждый устанавливать не хочется
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.