Estoy tratando de configurar un servidor web apache-ubuntu-php. Mi servidor web alojará múltiples sitios SSL, cada sitio SSL tendrá su propia dirección IP (a menos que haya una mejor manera de hacerlo).
Entonces, supongo que el primer paso es hacer que apache reconozca al menos dos direcciones IP diferentes. En este momento, tengo una versión SSL y no SSL de un sitio web que son http://mysite.com y https://mysite.com . Aunque ambos se están ejecutando actualmente en mi servidor, no puedo hacer que ambos usen diferentes direcciones IP. En este momento, ambos están utilizando la IP 1.1.1.1. Compré una segunda dirección IP 2.2.2.2 pero https://mysite.com no la aceptará y firefox se queja con el error "ssl_error_rx_record_too_long". Aquí hay un vistazo a mis 2 archivos vhost
/ etc / apache2 / site-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/site-enabled/mysite.com
<VirtualHost 1.1.1.1:80>
ServerAdmin [email protected]
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 [email protected]
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 reemplazo <VirtualHost *: 443> con <VirtualHost 2.2.2.2:443>, Firefox se queja con el error "ssl_error_rx_record_too_long".
Entonces, cuando intento crear y habilitar un /etc/apache2/site-enabled/mysite2.com con otro certificado SSL en una tercera dirección IP, Apache se queja de un problema de "superposición".
¿Alguien puede decirme cómo levantar mi servidor para que pueda alojar múltiples sitios web SSL en diferentes dominios? Quiero que el certificado SSL funcione para IE 7+, FF y Safari en sistemas operativos populares como WinXP, Vista, Win7 y OSX.
fuente
Actualmente no puedo comprobarlo, así que esto es solo una suposición: los archivos generalmente se leen en orden alfabético. Es posible que tenga más suerte cuando los lea en orden inverso, por ejemplo, cambie el nombre de 000-default a 500-default y use 400-myhost. No recuerdo dónde le gusta a apache tener el host predeterminado: primero o último. Pero por lo que dices (superposición), podría ser el último
fuente