The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Stunnel конфигурация"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (Разное)
Изначальное сообщение [ Отслеживать ]

"Stunnel конфигурация"  +/
Сообщение от Григорий (??), 04-Мрт-20, 20:29 
Добрый день,

Столкнулся со странной проблемой. Поднял stunnel на внешний сайт. Пробую кинуть на него POST напрямую, всё отрабатывает корректно.:
curl https://site.com/site  -X POST -d '{data}' --cacert /etc/stunnel/certs/root-ca.crt --key /etc/stunnel/client.key --cert /etc/stunnel/certs/client.crt


Пробую через stunnel, получаю ошибку:
curl http://127.0.0.1:1919/site  -X POST -d '{data}'

Причём если я правильно понимаю, то это ошибка уровня приложения, а не уровня SSL:
<html> <head> <title>Invalid Cert</title> </head>CN=heresCN,OU=heresOU,O=HeresO,C=US is not valid on this url</html>


Собственно, в чём вопрос. В чём может быть разница между SSL соединением которое иницирует cURL и соединением, которое делает stunnel? Они же должны идентично отрабатывать? В какую сторону копать?


####################################
debug = 7
output = /var/log/stunnel/stunnel.log
setuid = nobody
setgid = nobody
pid = /tmp/stunnel.pid

[tun]
client = yes
accept = 1919
connect = site.com:443

#options = NO_SSLv2
#options = NO_SSLv3
sslVersion = TLSv1.2
ciphers = ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256

CAfile = /etc/stunnel/certs/root-ca.crt
cert = /etc/stunnel/certs/client.crt
key = /etc/stunnel/client.key
#########################

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Licha Morada (ok), 05-Мрт-20, 03:16   +/
> Причём если я правильно понимаю, то это ошибка уровня приложения, а не
> уровня SSL:
> <html> <head> <title>Invalid Cert</title> </head>CN=heresCN,OU=heresOU,O=HeresO,C=US
> is not valid on this url</html>

Если это приехало в качестве контента для cURL, значит клиент и сервер договорились о HTTP, значит у них получилось SSL. Код ответа, случайно, не 403? По смыслу содержимого, похоже на творчески выраженную ошибку аутентикации по сертификату.

> Собственно, в чём вопрос. В чём может быть разница между SSL соединением
> которое иницирует cURL и соединением, которое делает stunnel? Они же должны
> идентично отрабатывать?

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

> В какую сторону копать?

Надо бы посмотреть в лог веб сервера и в лог приложения.
Ещё может помочь сделать дамп переменных окружения на сервере, либо посмотреть на хедеры, как запроса так и ответа (--verbose в помощь), в случае HTTPS напрямую и в случае stunnel.

Это обшие соображения, сам я на такое поведение не напарывался. Мы, обычно, вместо stunnel сразу обратный прокси на Nginx пихаем. Оверкилл, но ни разу не было чтоб критично по ресурсам оказывалось. С другой стороны, "мы" это инфраструктура, аутентикация на уровне приложения, даже по сертификату, проходит мимо.

Ответить | Правка | Наверх | Cообщить модератору

2. Сообщение от Serge (??), 06-Мрт-20, 04:26   +/
> Они же должны идентично отрабатывать? В какую сторону копать?

в сторону http header'a "Host"

Ответить | Правка | Наверх | Cообщить модератору

5. Сообщение от pda0 (?), 20-Апр-21, 19:54   +/
Сдаётся, что вы заголовок Host не задали. А может и sni в конфиге stunnel (но это не точно) и виртуальный сервер не может понять на какой сайт вы ломитесь.
Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру