fragen stichworte

Der Stunnel-Client verwendet bei der Kommunikation mit Apache ein falsches SNI

Ich habe Stunnel, der Port 80 abhört und als Client fungiert, der eine Verbindung zu Apache herstellt und Port 443 überwacht. Die Konfiguration ist unten aufgeführt. Ich stelle fest, dass, wenn ich versuche, eine Verbindung zu localhost: 80 herzustellen, die Verbindung in Ordnung ist, aber wenn ich eine Verbindung zu 127.0.0.1:80 herstelle,

Wenn ich die Protokolle von Apache überprüfe, bedeutet dies, dass Stunnel localhost beide Male als SNI verwendet. In der HTTP-Anforderung werden in einem Fall localhost und in einem anderen Fall 127.0.0.1 aufgelistet. Ist es möglich, stunnel anzuweisen, entweder das zu verwenden, was in der HTTP-Anforderung enthalten ist, oder irgendwie zwei Clients mit jeweils unterschiedlichen SNI-Werten zu konfigurieren?

stunnel.conf:

debug = 7
options = NO_SSLv2

[xmlrpc-httpd]
client = yes
accept = 80
connect = 443

Apache error.log:

[error] Hostname localhost provided via SNI and hostname 127.0.0.1 provided via HTTP are different

Apache access.log:

"GET/HTTP/1.1" 200 2138 "-" "Wget/1.13.4 (linux-gnu)"
"GET/HTTP/1.1" 400 743 "-" "Wget/1.13.4 (linux-gnu)"

wget:

$wget -d localhost
---request begin---
GET/HTTP/1.1
User-Agent: Wget/1.13.4 (linux-gnu)
Accept: */*
Host: localhost
Connection: Keep-Alive

---request end---

$wget -d 127.0.0.1
---request begin---
GET/HTTP/1.1
User-Agent: Wget/1.13.4 (linux-gnu)
Accept: */*
Host: 127.0.0.1
Connection: Keep-Alive

---request end---

bearbeiten:

Apache Config

Dies ist nichts Außergewöhnliches, es ist nur ein virtueller Host, der 443

hört
<VirtualHost *:443>

antworten

Es sieht so aus, als könnten Sie dies mit dem Client-Konfigurationselement erzwingen:

sni = Servername

http://www.stunnel.org/static/stunnel.html - Suche nach SNI