Newsgroup: it.comp.os.linux.sys
Titolo: Questo è un bel problemino: un ip e tanti server web (non linux)

Ciao a tutti,
    ci sto prendendo gusto ad integrare linux e windows, per scopi di 
primo acchitto banali, ma che danno soddisfazioni (poche e brevi,ma sono 
un coniglietto..:).
Ecco una alla quale vorrei dedicare una soluzione, che perï¿œ per adesso 
ignoro.
Ho due server web IIS, su macchine diverse in intranet.
Un solo IP pubblico, e vorrei gestire con un dominio di terzo livello 
che perï¿œ poi mi si scontra col fatto che alla porta 80 del LVS 
arriverebbero entrambe le richieste.
Una soluzione che ho pensato ï¿œ il proxy.
Le richieste arrivano a squid sulla 80, e lui vede che una ï¿œ per 
ciccio.dominio e l'altra per pasticcio.dominio.
Sarï¿œ lui a girarle ad uno e l'altro (e l'altro ancora).
Secondo voi potrebbe funzionare?
Sennï¿œ, cosa potrei "sperimentare" per la bisogna?
grazie a tutti..

 Secondo voi potrebbe funzionare?
Di solito si fa cosi`...
Enrico
P.S. non usare Squid, ma Varnish

 Varnish come gia' suggerito o usi Apache (sconsigliato).
Posto che lo stesso apache se la cava benissimo (se non si vuole avere
anche il caching, almeno) Squid ha anche funzionalit� di reverse proxy
assolutamente adeguate ed � ampiamente utilizzato a questo scopo.
Per completezza, comunque, aggiungo alla lista anche pound.
-- 
Professional System & Network Sarcazzer
http://bofhskull.wordpress.com/


Anche nginx funziona bene

 Una soluzione che ho pensato è il proxy.
Io lo faccio con un reverse proxy, pound, nella fattispecie.

 Per completezza, comunque, aggiungo alla lista anche pound.
Che uso anche io con estrema soddisfazione, ma non è caching.

 Che uso anche io con estrema soddisfazione, ma non è caching.
Ciao, grazie a tutti.
Sto usando pound, ma a pelle, mi pare scarno di documentazione.
L'ho tirato su , ma non riesco ad indirizzare una url intera 
www.sito.it/server
dove chiarmaente ho in ascolto una macchina su indirizzoipprivato/server
(corrispondono le pagine).
Qualcuno ha link di documentazione da consultare?
grazie

 assolutamente adeguate ed è ampiamente utilizzato a questo scopo.
Esattamente. Oggigiorno a naso direi che l'ordine dei reverse proxy più 
usati sia:
- Apache
- Squid
- nginx
- varnish
- vari ed eventuali
Aspetto linciaggi e smentite :)
-- 
Vide

 Aspetto linciaggi e smentite :)
Smentita non so: la mia esperienza mi riporta varnish come ben più usato
rispetto a nginx, in particolare nelle installazioni di Plone.
Poi dipende da come facciamo i conti, perchè se tiriamo dentro ad
esempio di siti spamvertized ed estremamente "mobili" (anche se non
tecnicamente dei fast-flux) tipo quelli di Canadian Pharmacy, tutta la
loro struttura si basa su reverse proxy e nginx la fa da padrone; e si
parla di *tanti-tanti* domini (visto che ne spammano uno nuovo ogni 5-10
minuti)... ;-)


SI, in effetti nginx lo vedo molto pi� documentato.
Stasera lo prover� al posto di pound che per� adesso � in funzione... :)

 
www.sito.it/server
HeadRequire "pattern"
    The request must contain at least on header matching the given  pattern.   Multiple  Head-
    Require  directives  may  be defined per service, in which case all of them must be satis-
    fied.
Quindi, ad esempio
ListenHTTP
        Address yyy.yyy.yyy.yyy
        Port    80
        ## allow PUT and DELETE also (by default only GET, POST and HEAD)?:
        xHTTP           0
        Client          300
        Service
        HeadRequire "Host: 
www.sito.it
"
                BackEnd
                        Address xxx.xxx.xxx.xxx
                        Port 80
                End
        End
End

                         Port 80
Io ho questo:
Service
HeadRequire "Host: 
www.sito.it/sitarello
"
BackEnd
Address 192.168.1.1
Port 80
Ma la pagina 
192.168.1.1/sitarello
 non mi viene mostrata....

 Ma la pagina 
192.168.1.1/sitarello
 non mi viene mostrata....
Perch� gli header non prevedono 
www.sito.it/sitarello
.
Non conosco il software in questione, ma tirando ad indovinare io farei
HeadRequire "Host: www.sito .it"
HeadRequire "GET /sitarello"
-- 
ValeRyo
XT600 "Katoki Pajama" - 
http://www.slimmit.com/go.asp?7Y9
CBR600F "Cerbero" - In vendita - 
http://www.slimmit.com/go.asp?7X0
GamerTag: 
http://card.mygamercard.net/IT/nxe/ValeRyo76.png
 

 HeadRequire "GET /sitarello"
Grazie Valerio,
   ho provato anche cosi...
Dec 14 16:20:09 centos pound: x.x.x.x GET /sitarello HTTP/1.0 - HTTP/1.1 
404 Not Found
Ed ho controlalto i log del server, dove non arriva nessuan richeista.
A me pare che non redirige correttamente a chi dovrebbe.
            Service
                 HeadRequire "Host: www.sito.com.*"
                 HeadRequire "GET /sitarello.*"
                 BackEnd
                     Address 192.168.1.5
                     Port    80
                 End
             End
Avevo pure provato cosi:
            Service
                 HeadRequire "Host: www.sito.com.*"
                 Url "/sitarello.*"
                 BackEnd
                     Address 192.168.1.5
                     Port    80
                 End
             End
Ma non andava neppure.
Adesso leggendo meglio il man, proverï¿œ:
            Service
                 Url "
www.sito.com/sitarello.*
"
                 BackEnd
                     Address 192.168.1.5
                     Port    80
                 End
             End
Che dici?

 HeadRequire "Host: 
www.sito.it/sitarello
"
Mai vista una richiesta HTTP/1.1?
GET /sitarello HTTP/1.1
Host: 
www.sito.it
blah blah blah

 blah blah blah
Non passa....

 Che dici?
Che non conosco il software in questione :-)


                 Url "/sitarello.*"
Dove lo hai visto l'asterisco, nei suggerimenti di Valeryo?
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net

 Che dici?
Non è che IIS è configurato con i virtual host e quindi non risponde
se lo chiami con l'IP....

 se lo chiami con l'IP....
Questo specifico, no.
DA dentor lo chiamo con l'ip/sitarello e funziona bene.
Altri due siti, che sono configurati come dici tu, funzionano bene!! :)

 Dove lo hai visto l'asterisco, nei suggerimenti di Valeryo?
Roberto, ero tentato di rispondere prima di provarlo....ma l'ho 
provato...e non cambia nulla.
Ma l'asterisco io lo intendo con un regex per tutto quanto viene dopo, ï¿œ 
chiaro che almeno la home dovrebeb funzionare.
Non ï¿œ cosi...

Torno dopo svariati test fatti con pound e nginx.
Mi sono schiarito le idee e capito le seguenti poche cose:
A) NGinx non va un cabbaso con siti IIS e l'integrated authentication, 
Pound si
B) Nginx ï¿œ piï¿œ veloce di Pound
C) Pound ï¿œ meno configurabile di Nginx
Purtroppo io ho solo siti IIS, e l'autenticazione NTLM.
Quindi anche cercare altrove la metodologia per sisteamre le ultime due 
cose, sarebbe tempo perso, rimango con pound che per adesso sta andando.
Chiunque abbia consigli ï¿œ ben accetto, tranne varnish che ï¿œ una cosa 
pazzesca.
Il mio persistente problema, che in parte NGinx sembrave risolvere 
(senza autenticazione perï¿œ), ma che non c'ï¿œ verso di farlo con pound ï¿œ 
il seguente:
www.sito1.com
 
www.sito2.com
 
www.sito1.com/quasitutto
  -->  iis1 (in 
parte con NTLM)
www.sito1.com/soloquesto
 -->  iis2(su altra macchina sempre con NTLM).
Riesco in parte a fare la prima cosa, ma la seconda manco ammazzato...
User        "nobody"
Group       "nobody"
LogLevel 4
#RootJail    "/var/pound/jail"
Alive       600
ListenHTTP
             Address 128.0.0.2
             Port    80
             xHTTP 4
             Service
                 HeadRequire "Host:.*"
                 BackEnd
                     Address 192.168.1.1
                     Port    80
                 End
             End
             Service
                 HeadRequire "Host: .*www.sito1.com.*"
                 BackEnd
                     Address 192.168.1.1
                     Port    80
                 End
             End
             Service
                 HeadRequire "Host: .*www.sito2.com.*"
                 BackEnd
                     Address 192.168.1.1
                     Port    80
                 End
             End
             Service
                 HeadRequire "Host: .*www.sito1.com.*"
		HeadRequire "GET /soloquesto"
                 BackEnd
                     Address 192.168.1.5
                     Port    80
                 End
             End
         End
Non va.
Ho centos con il pound 2.5d  (experimental, ma anche le 2.4.3 non andava).
Grazie

 pazzesca.
Personalmente una cosa del genere l'ho fatta con Varnish e con Ngix, ma
non ho mai affrontato e/o non ho mai gestito l'autenticazione con il
proxy. Prova a vedere se con Squid riesci a risolvere, altrimenti penso
che l'unica sia usare Apache
Enrico

 che l'unica sia usare Apache
Buon Natale Enrico,
   non si tratta di un problema di autenticazione "as is", io non devo 
autenticate sul proxy, ma devo farsì che il proxy inoltri l'handshake 
correttamente da e per il server web IIS, pound lo fa , nginx no (per 
progetto).
Squid gestisce l'autentica NTLM per conto suo, chiedendo al dominio di 
logon, ma qui si tratta di altro, il proxy non deve "autenticare" ma 
deve "fare" autenticare.
Non so se mi spiego...
Mi rimane scoperto il fatto di girare una specifica location/soloquesto 
su un sito diverso da quello standard.
E' più un problema di pound che però per configurazione è tremendamente 
scarno...

 progetto).
Sei sicuro? Io personalmente avevo Nginx configurato in modo tale che,
in base al link utilizzato, passava la richiesta al web server
dedicato.Il web server in questione, poi, gestiva la richiesta della
password, senza percio` scomodare Nginx a tal proposito
Enrico

 in base al link utilizzato, passava la richiesta al web server
http://www.pubbs.net/nginx/200904/17303/
E poi altre dove si dice che non gestisce le autenticazioni NTLM fra 
client e server.
Se tu hai fiel di conf dove questo è possibile, sono ben accetti...

 client e server.
C'e` qualcosa del discorso che non mi torna. Prima dici che non devi
autenticare sul proxy e poi dici che Nginx (che, in questo caso, sta
funzionando da proxy) non supporta l'autenticazione NTLM? Personalmente,
e senza offesa, ritengo che devi prima capire chi e` che deve fare
l'autenticazione (in teoria nulla ti vieta di rimuovere l'autenticazione
sul web server e farla sul proxy)
Enrico

 funzionando da proxy) non supporta l'autenticazione NTLM?
Enrico,
   lo ripeto, magari con un esempio.
server IIS che autentica con NTLM.
Client IE8
In mezzo PROXY.
Bene, il proxy deve solo prendere le richieste del CLIENT ie8 e spedirle 
pari pari al server  (uno dei tanti specifcatamente determianto dalla 
GET /LOCATION).
Non deve fare altro.
Il problema � che: NGINX non gestisce le richeiste di autenticazione 
NTLM che pare facciano uso delle estensioni m4 WEBDAV, cosa ch einvece 
pound effettua.
Il proxy non deve autenticare contro nessuno.
Grazie
ciao

 GET /LOCATION).
Ok, allora posso confermarti che questo, con Nginx, e` possibile, ovvero
il proxy rigira completamente la chiamata al server ed il server
gestisce l'autenticazione. Attualmente pero` non posso farti alcun
esempio a livello di configurazione, in quanto ce l'ho sotto mano
Enrico

 Ok, allora posso confermarti che questo, con Nginx, e` possibile.
Ti ringrazio.
Quando avrai la possibilit� di darmi un eventuale esempio da analizzare, 
te ne sar� grato.
Michele