Newsgroup: it.comp.os.linux.sys
Titolo: [1/2 OT] httpd come bridge

Salve,
 
non sono sicuro sia completamente
in topic qui, ma ci provo lo stesso.
 
Ho un programma che si interfaccia
tramite pagina web, ad un certa porta,
diciamo 5678, di localhost, oppure su
qualunque if.
 
Questo programma, pero`, serve solo
pagine http, non supporta https.
 
Mi chiedevo, e` possibile configurare,
chesso`, apache (httpd, ma anche altre
soluzioni sono ben accette) in modo
tale che faccia da ponte (o proxy),
tra la porta 4567 (5678?) https da
un if e la porta 5678 http di tale
suddetto programma (in localhost)?
 
Non so se sono stato chiaro, vorrei
collegarmi al programma dall'esterno,
ma via https, cosa non supportata
dal programma stesso.
 
Grazia anticipatamente,
 
P.S.: non ho cercato in giro perche` non
ho idea di cosa cercare.
 
bye,
 
-- 
 
piergiorgio

 ho idea di cosa cercare.
 
Si, reverse proxy. ;-)
 
-- 
  But i still haven't found
  what i'm looking for					(U2)


Reverse proxy con apache, una cosa del genere:
 
------------------------------------
<VirtualHost *:4567>
 
  ServerName 
miodominio.example.com
 
 
  ProxyPass "/"  "
http://ip.o.dns.del.device:5678/
"
  ProxyPassReverse "/"  "
http://ip.o.dns.del.device:5678/
"
 
  SSLEngine on
 
  SSLCertificateFile   ....
  SSLCertificateKeyFile ....
  SSLCertificateChainFile ....
</VirtualHost>
------------------------------------
 
con nginx:
 
------------------------------------
server {
        listen 4567 ssl;
        listen [::]:4567 ssl;
 
        ssl_certificate   .....;
        ssl_certificate_key ....;
 
        location / {
            proxy_pass 
http://ip.o.dns.del.device:5678
;
        }
}
------------------------------------
 
Ma si può fare praticamente con qualunque server web degno di questo nome.
 
Ovviamente devi completare le configurazioni con le ulteriori opzioni che
ti servono quanto a sicurezza etc.
 
 
 
-- 
Cio' che si vede, e'.
 

 </VirtualHost>
 
Per prima cosa, grazie ad entrambi
per le risposte.
 
Riguardo quanto sopra... Non mi funziona...
 
Ora, ho provato ha semplificare con (ho
cambiato la porta da 4567 a 7654):
 
<VirtualHost *:7654>
        ServerName localhost
        ProxyPass / 
http://localhost:9090
 
        ProxyPassReverse / 
http://localhost:9090
 
</VirtualHost>
 
Che dovrebbe, se ho capito qualcosa,
semplicemente mappare da 7654 a 9090
(dove c'e` cockpit in ascolto, quindi
non apache).
 
Non funziona...
 
$> curl 
http://localhost:7654
 
curl: (56) Recv failure: Connection reset by peer
 
Ovviamente curl 
http://localhost:9090
 
funziona e curl 
http://localhost
 anche.
 
Controllando con: nmap localhost -p 7654
 
PORT     STATE SERVICE
7654/tcp open  unknown
 
Qualche idea? Dove sbaglio?
 
Un'altra domanda, riguardo "ServerName".
A che serve?
Voglio dire, cosa interessa ad apache
sapere il nome DNS del server?
 
Grazie di nuovo,
 
bye,
 
-- 
 
piergiorgio

 A che serve?
 
Serve per fare virtual hosting (multipli siti web sulla stessa macchina).
 
https://it.wikipedia.org/wiki/Virtual_hosting
 
 
Se hai un solo sito _credo_ (ma devi guardare i doc di apache) che potresti
anche ometterlo.


 con ss o netstat).
 
Ok, questo niente perché non avevo visto che avevi fatto nmap. Quindi
guarda il log. Aumenta la verbosità se è il caso.



Mah, ho inserito, all'interno della
direttiva VirtualHost:
 
LogLevel debug
ErrorLog /var/log/httpd/virtual_host_7654_error.log
 
Dentro il log file non c'e` praticamente
niente, solo:
 
initializing worker 
http://localhost:9090
 shared
initializing worker 
http://localhost:9090
 local
initialized pool in child 156848 for (localhost) min=0 max=61 smax=61
 
Quindi solo init, niente altro.
 
Non sembra lamentarsi di niente negli
altri log (che sono 5, tra l'altro).
 
Una cosa, pero`, c'e`...
 
La porta 7654 e` occupata da un altro
processo...
Ma ******...!!!!@#!$
 
Adesso cambio porta e riprovo...


 Adesso cambio porta e riprovo...
 
OK, usando 7653 ed aggiungendo
Listen 7653 prima di VirtualHost
funziona, almeno il setup semplice.
 
bye,
 
-- 
 
piergiorgio

 funziona, almeno il setup semplice.
 
Allora, funziona piu` o meno a dovere.
Ogni tanti il browswer ritorna un
errore dicendo che il certificato SSL
e` troppo lungo...
 
Grazie ancora!
 
bye,
 
-- 
 
piergiorgio

 e` troppo lungo...
 
Per completezza...
 
Risolto anche questo, il server
locale era ancora attivo, quindi
ogni tanto arrivava una risposta
non SSL alla richiesta SSL.
 
bye,
 
-- 
 
piergiorgio