मैं एक अपाचे-ubuntu-php वेबसर्वर स्थापित करने की कोशिश कर रहा हूं। मेरा वेबसर्वर कई एसएसएल साइटों की मेजबानी करेगा, प्रत्येक एसएसएल साइट का अपना आईपी पता होगा (जब तक कि ऐसा करने का बेहतर तरीका नहीं है)।
इसलिए मुझे लगता है कि कम से कम दो अलग-अलग आईपी पते को पहचानने के लिए पहला कदम अपाचे प्राप्त करना है। अभी, मेरे पास एक वेबसाइट का एक एसएसएल और नॉन-एसएसएल संस्करण है जो http://mysite.com और https://mysite.com हैं । हालाँकि दोनों वर्तमान में मेरे सर्वर पर चल रहे हैं, मैं दोनों को अलग-अलग आईपी पते का उपयोग करने के लिए नहीं मिल सकता। अभी, दोनों आईपी 1.1.1.1 का उपयोग कर रहे हैं। मैंने एक दूसरा आईपी पता 2.2.2.2 खरीदा था लेकिन https://mysite.com इसे स्वीकार नहीं करेगा और फ़ायरफ़ॉक्स "ssl_error_rx_record_too_long" त्रुटि के साथ शिकायत करता है। यहाँ मेरी 2 vhost फ़ाइलों पर एक नज़र है
/ Etc / apache2 / साइट-सक्षम / 000-डिफ़ॉल्ट
#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 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>
Mysite.com में, अगर मैं <VirtualHost *: 443> को <VirtualHost 2.2.2.2:443> से प्रतिस्थापित करता हूं, तो फ़ायरफ़ॉक्स "ssl_error_rx_record_too_long" त्रुटि के साथ शिकायत करता है।
इसलिए जब मैं तीसरे IP पते पर किसी अन्य SSL प्रमाणपत्र के साथ /etc/apache2/site-enabled/mysite2.com बनाने और सक्षम करने का प्रयास करता हूं, तो Apache एक "ओवरलैप" समस्या के बारे में शिकायत करता है।
क्या कोई मुझे बता सकता है कि मुझे अपना सर्वर कैसे उठना चाहिए ताकि मैं विभिन्न डोमेन पर कई एसएसएल वेबसाइटों की मेजबानी कर सकूं? मैं SSL प्रमाणपत्र IE 7+, FF और Safari के लिए लोकप्रिय OS जैसे WinXP, Vista, Win7 और OSX पर काम करना चाहता हूं।