# apache con + siti ma unico IP, dubbi....

## power83

Salve ragazzi, in procinto di installare il mio serverino web con apache2, ho alcuni dubbi.

Il mio vicino e un mio amico vorrebebro usarlo x i loro siti web (il mio serverino rimarrebbe cmq sempre acceso), ma..............una volta creati e messi dove devono stare nel sistema x farli vedere ad apache, come viene gestita la cosa?

cioe': il mio serverino ha 1 solo indirizzo IP, ma ha 3 siti web.

Come funziona in questo caso la corrispondenza IP add <-> www.qualcosa.com fatta dal DNS?

come mi devo muovere nel comprare il nome DNS, considerando che ho solo un IP?

----------

## horace

penso che tu debba usare la funziona virtual host di apache

sono abbastanza ingnorante in materia, ma spero di averti dato uno spunto per una ricerca  :Wink: 

poi lascio la palla agli esperti   :Very Happy: 

----------

## salade

Sì le parole magiche sono virtual host. Qui maggiori info: http://httpd.apache.org/docs/2.0/vhosts/

----------

## .:chrome:.

in particolare si tratta di virtual hosts name-based, su cui viene fatta distinzione in base ai campi delle richieste HTTP

hai bisogno, in particolare, di impostare globalmente USE="vhosts"

----------

## power83

Bene, grazie x le risposte, prima di porre altri questiti in questo topic mi vado a leggere la docs del link  :Laughing: 

----------

## power83

Letto e sono passato a questo link, che descrive esattamente cio' che serve a me x la configurazione, oltre che il funzionamento:

http://httpd.apache.org/docs/2.0/vhosts/name-based.html

PROBLEMA:

 *Quote:*   

> Name-based virtual hosting cannot be used with SSL secure servers because of the nature of the SSL protocol.

 

questo e' un problema abb grande........c'e' una soluzione o alternativa a questo?

----------

## .:chrome:.

 *power83 wrote:*   

> PROBLEMA:
> 
>  *Quote:*   Name-based virtual hosting cannot be used with SSL secure servers because of the nature of the SSL protocol. 
> 
> questo e' un problema abb grande........c'e' una soluzione o alternativa a questo?

 

falso. io uso name-based virtual hosts con supporto SSL

sei sicuro che il documento che hai letto sia aggiornato?

----------

## power83

boh..ho letto quello del link.

cmq allora problema risolto, grazie dell'aiuto

----------

## makoomba

penso si riferisse a questo.

 *apache ssl faq wrote:*   

> Why is it not possible to use Name-Based Virtual Hosting to identify different SSL virtual hosts?
> 
> Name-Based Virtual Hosting is a very popular method of identifying different virtual hosts. It allows you to use the same IP address and the same port number for many different sites. When people move on to SSL, it seems natural to assume that the same method can be used to have lots of different SSL virtual hosts on the same server.
> 
> It comes as rather a shock to learn that it is impossible.
> ...

 

----------

## X-Drum

 *power83 wrote:*   

> PROBLEMA:
> 
>  *Quote:*   Name-based virtual hosting cannot be used with SSL secure servers because of the nature of the SSL protocol. 
> 
> questo e' un problema abb grande........c'e' una soluzione o alternativa a questo?

 

no! sta tranquillo, si puo' usare SSL anche in presenza di named-based vhosts, io li uso,

o il documento è un po vecchio o si riferisce ad apache 1.x

----------

## swit

 *X-Drum wrote:*   

>  *power83 wrote:*   PROBLEMA:
> 
>  *Quote:*   Name-based virtual hosting cannot be used with SSL secure servers because of the nature of the SSL protocol. 
> 
> questo e' un problema abb grande........c'e' una soluzione o alternativa a questo? 
> ...

 

mi suona strana anche a me questa cosa, ho dei server con apache 1.3 e con ssl attivo e non c'è nessun problema.

Sembra che quella frase voglia dire che ssl non può essere usato perchè ssl cripta i cambi del pacchetto http 1.1, ma da quando ssl cripta anche il campo "host" di http 1.1?!

----------

## .:chrome:.

mi unisco al coro: mod_ssl NON da nessun tipo di problema con virtual hosts name-based.

sperimentato sulla mia pelle.

suppongo che, come dice X-Drum, quella nota sia vecchia o che si riferisca ad apache-1.3

----------

## makoomba

l'estratto in questione è relativo alle faq ssl di apache 2.0

i sistemi ssl che gestisco sono "unici", per cui non mi sono mai posto il problema ma l'argomento mi interessa

@k.gothmog

puoi essere più specifico ? 

hai tipo 2 o + domini impostati come vhost name based che rispondono alla porta 443 e fanno riferimento a certificati diversi ?

----------

## ogeidix

Ciao a tutti,

alcune settimane fa anchio ho sbattuto la testa sull'argomento

concludendo (come dicono molte fonti) che non è possibile gestire SSL in maniera 'pulita'

per + vhost name based.

Ciò non significa che non si può utilizzare https su tutti i domini ma che, a parte un dominio

(quello per cui si è fatto il certificato), il browser avviserà l'utente che il certificato che il server 

ha presentato è poco credibile, chiedendo se lo si vuole accettare cmq o no.

Questo perchè i certificati si riferiscono agli IP e non agli host (effettivamente il nome dns

è molto più variabile di un indirizzo ip) quindi:

facendo un certificato per ogni vhost

(cosa fattibilissima) quando il browser tenterà di accedere al dominio B, dopo aver visitato precedentemente

il dominio A, avviserà l'utente che l'IP xxx.xxx.xxx.xxx che prima si era presentato con un certificato(A)

ora si sta presentando con un altro certificato(B) diverso dal primo (che ora è in cache)

se invece si mantiene lo stesso certificato, fatto per A, navigando su B si riceve l'avviso che

il certificato è per un'altro host

Spero di aver capito bene e di essermi spiegato altrettanto

:: ogeidix

----------

## .:chrome:.

 *makoomba wrote:*   

> hai tipo 2 o + domini impostati come vhost name based che rispondono alla porta 443 e fanno riferimento a certificati diversi ?

 

uhm... su una delle mie macchine ho più 3rd-level domains che corrispondono a diversi virtual host, ad alcuni di essi dispongono anche di connessione SSL.

ora che me lo fai notare, però, è anche vero che tutti usano lo stesso certificato, ed in fase di accettazione viene sempre segnalato che il certificato non è stato fatto per quell'indirizzo. ho aggirato la questione creando un unico certificato per il 2nd-level domain che contiene i virtual hosts.

effettivamente a questo non c'è scampo, ma tutto il resto funziona

----------

## makoomba

 *k.gothmog wrote:*   

> è anche vero che tutti usano lo stesso certificato

 

ah, ok

ora la cosa mi torna.

----------

## digu

Mi collego alla vostra discussione...

Al momento ho creato 2 vhost, 1 usa ssl l'altro no, e l'accesso viene distinto tramite l'uso di porte diverse, cioe':

- porta 80 (ridirezionata in automatico su 443) host1

- porta 81 host2

Vorrei pero' portare entrambi gli host su ssl... specificando, ad esempio una porta 444, su cui mettere in ascolto il secondo host usando ssl, come posso fare in modo che connessioni alle porte 80 e 81 siano reindirizzate in automatico alle porte 443 e 444?

Al momento il ridirezionamento e' dato da questo codice:

```
 # Redirect to SSL

    RewriteEngine On

    RewriteCond %{HTTPS} !=on

    RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]

```

l'unica cosa che posso fare e' utilizzare i nomi degli host1 e host2 per distinguerli quando uso ssl?

Grazie in anticipo...

----------

## X-Drum

 *k.gothmog wrote:*   

> falso. io uso name-based virtual hosts con supporto SSL
> 
> sei sicuro che il documento che hai letto sia aggiornato?

 

si infatti la vera unica limitazione sta nel certificato SSL nel caso non i utilizzino

piu' porte sullo stesso IP oppure diversi IP per i vari vhost

ti sciroppi lo stesso certificato per tutti i vhost (con conseguente avviso di mancata corrispondenza :X)

----------

## digu

Con i name-based vhost e ssl mi capita questo quando riavvio apache2:

```
 _default_ VirtualHost overlap on port 443, the first has precedence
```

ecco un breve estratto della mia conf:

```
<VirtualHost *:443>

#   General setup for the virtual host

DocumentRoot "/var/www/localhost/htdocs"

ServerName server1.name.it:443

ServerAdmin mia@mail.it

ErrorLog logs/ssl_error_log1

...

<VirtualHost *:443>

#   General setup for the virtual host

DocumentRoot "/var/www/forum"

ServerName server2.name.it:443

ServerAdmin mia@mail.it

ErrorLog logs/ssl_error_log2

```

sbaglio qualcosa?

----------

## X-Drum

 *digu wrote:*   

> sbaglio qualcosa?

 

stai utilizzando la direttiva:

```
<VirtualHost *:443> 
```

più di una volta come descritto nell'errore

----------

## digu

Chiedo venia... mi sono accorto ora di aver dimenticato di mettere:

```
NameVirtualHost *:443
```

e ora funziona...

Grazie X-Drum, leggendo quello che hai scritto mi e' venuto in mente che nei vhost senza ssl avevo definito NameVirtualHost *:80 e li tutto funzionava bene con piu' virtual host legati alla porta 80...

Ora mi rimane solo da creare un certificato ssl che possa essere usato per entrambi i vhost...

 *k.gothmog wrote:*   

> 
> 
> uhm... su una delle mie macchine ho più 3rd-level domains che corrispondono a diversi virtual host, ad alcuni di essi dispongono anche di connessione SSL.
> 
> ora che me lo fai notare, però, è anche vero che tutti usano lo stesso certificato, ed in fase di accettazione viene sempre segnalato che il certificato non è stato fatto per quell'indirizzo. ho aggirato la questione creando un unico certificato per il 2nd-level domain che contiene i virtual hosts.
> ...

 

Qualcuno potrebbe tagliarmelo giu' a fettine questo discorso? Cioe':

- differenze tra 3rd-level domain e 2nd-level domain?

- che differenza c'e' tra creare certificati per 2nd-level domains rispetto a quanto riportato qui: http://gentoo-wiki.com/Apache_Modules_mod_ssl

Grazie ancora per la vostra pazienza

----------

