10 votos

Sitio SSL no la correcta utilización de la IP en el servidor Apache y Ubuntu

Estoy tratando de configurar un apache-ubuntu-php servidor web. Mi servidor web será el anfitrión de varios sitios SSL, cada sitio SSL tendrá su propia dirección IP (a menos que haya una manera mejor de hacer esto).

Así que supongo que el primer paso es conseguir apache para que reconozca al menos dos direcciones IP diferentes. Ahora mismo, tengo un SSL y no SSL versión de un sitio web y que son http://mysite.com y https://mysite.com. A pesar de que ambos se están ejecutando actualmente en mi servidor, yo no puedo conseguir que tanto el uso de direcciones IP diferentes. Ahora, ambos están utilizando la IP 1.1.1.1. He comprado una segunda dirección IP 2.2.2.2 pero la https://mysite.com no la aceptará y firefox se queja con el error "ssl_error_rx_record_too_long". He aquí un vistazo a mi 2 vhost archivos

/etc/apache2/sitio web-enabled/000-default

#NameVirtualHost 1.1.1.1:80

#<VirtualHost 1.1.1.1:80>
<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

/etc/apache2/sitio web-enabled/mysite.com

<VirtualHost 1.1.1.1:80>
     ServerAdmin john@mysite.com
     ServerName mysite.com
     ServerAlias www.mysite.com
     DocumentRoot /srv/www/mysite.com/public_html/
     ErrorLog /srv/www/mysite.com/logs/error.log
     CustomLog /srv/www/mysite.com/logs/access.log combined
</VirtualHost>
<IfModule mod_ssl.c>
#<VirtualHost 2.2.2.2:443>
<VirtualHost *:443>
     ServerAdmin john@mysite.com
     ServerName mysite.com
     ServerAlias www.mysite.com
     DocumentRoot /srv/www/mysite.com/public_html/
     ErrorLog /srv/www/mysite.com/logs/error.log
     CustomLog /srv/www/mysite.com/logs/access.log combined

        SSLEngine on

        SSLCertificateFile    /etc/ssl/localcerts/www.mysite.com.crt
        SSLCertificateKeyFile /etc/ssl/localcerts/www.mysite.com.pem

        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
        </Directory>

        BrowserMatch ".*MSIE.*" \
                nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0

</VirtualHost>
</IfModule>

En mysite.com si puedo reemplazar <VirtualHost *:443> con <VirtualHost 2.2.2.2:443>, Firefox se queja con el error "ssl_error_rx_record_too_long".

Así que cuando trato de crear y habilitar un /etc/apache2/sitio web-enabled/mysite2.com con otro certificado SSL en una tercera dirección IP, Apache se queja acerca de una "superposición" problema.

Alguien me puede decir cómo llegar hasta mi servidor para que yo pueda host SSL varios sitios web en diferentes dominios? Quiero el certificado SSL para trabajar para IE 7+, FF, opera y Safari en el popular sistema operativo como windows xp, Vista, Win7 y OSX.

7voto

Doug Wilson Puntos1435

He puesto esto en mis servidores mediante el ajuste de la /etc/apache2/ports.conf archivo de la siguiente manera:

<IfModule mod_ssl.c>
NameVirtualHost *:443
    # SSL name based virtual hosts are not yet supported, therefore no
    # NameVirtualHost statement here
    NameVirtualHost *:443
    Listen 443
</IfModule>

A continuación, usted debe ser capaz de utilizar mediante la edición de /etc/apache2/sites-enabled/mysite.com (código omite para acortar el ejemplo):

<VirtualHost *:443>
     ServerName mysite1.com
     SSLCertificateFile    /etc/ssl/localcerts/www.mysite1.com.crt
     SSLCertificateKeyFile /etc/ssl/localcerts/www.mysite1.com.pem
</VirtualHost>

<VirtualHost *:443>
    ServerName mysite2.com
    SSLCertificateFile    /etc/ssl/localcerts/www.mysite2.com.crt
    SSLCertificateKeyFile /etc/ssl/localcerts/www.mysite2.com.pem
</VirtualHost>

Como muchos vhosts como te gusta.

Edit: NECESIDAD de UNA SEGUNDA OPINIÓN? VAYA AQUÍ: http://forum.slicehost.com/comments.php?DiscussionID=3244

0voto

Olaf Puntos778

Yo no puedo comprobar en la actualidad, así que esto es sólo una conjetura: Los archivos se suelen leer en orden alfabético. Usted podría tener más suerte cuando pídales que lean en orden inverso, por ejemplo, cambiar el nombre 000-default 500-default y el uso de 400 myhost. No puedo recordar dónde apache le gusta tener el host predeterminado - primer o el último. Pero por lo que dices (solapamiento), podría ser la última

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: