Tôi đang cố gắng thiết lập một máy chủ web apache-ub Ubuntu-php. Máy chủ web của tôi sẽ lưu trữ nhiều trang SSL, mỗi trang SSL sẽ có địa chỉ IP riêng (trừ khi có cách tốt hơn để làm điều này).
Vì vậy, tôi cho rằng bước đầu tiên là để apache nhận ra ít nhất hai địa chỉ IP khác nhau. Ngay bây giờ, tôi có phiên bản SSL và không phải SSL của một trang web là http://mysite.com và https://mysite.com . Mặc dù cả hai hiện đang chạy trên máy chủ của tôi, tôi không thể sử dụng cả hai địa chỉ IP khác nhau. Ngay bây giờ, cả hai đều đang sử dụng IP 1.1.1.1. Tôi đã mua địa chỉ IP thứ hai 2.2.2.2 nhưng https://mysite.com sẽ không chấp nhận và firefox phàn nàn với lỗi "ssl_error_rx_record_too_long". Dưới đây là 2 tập tin vhost của tôi
/ etc / apache2 / kích hoạt trang web / 000-mặc định
#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-enables/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>
Trong mysite.com, nếu tôi thay thế <Virtualhost *: 443> bằng <Virtualhost 2.2.2.2:443>, Firefox sẽ phàn nàn với lỗi "ssl_error_rx_record_too_long".
Vì vậy, khi tôi cố gắng tạo và kích hoạt /etc/apache2/site-enables/mysite2.com với một chứng chỉ SSL khác trên địa chỉ IP thứ ba, Apache phàn nàn về vấn đề "chồng chéo".
Ai đó có thể cho tôi biết cách lấy máy chủ của tôi để tôi có thể lưu trữ nhiều trang web SSL trên các tên miền khác nhau không? Tôi muốn chứng chỉ SSL hoạt động cho IE 7+, FF và Safari trên các hệ điều hành phổ biến như WinXP, Vista, Win7 và OSX.