У меня два разных сайта на одном сервере: a.com
и b.com
.
Если я использую именованный виртуальный хост на ssl-порту, IE не будет работать.
Итак, я решил использовать порт 444 для SSL для b.com
. Однако, похоже, все браузеры выдают сообщение об ошибке:
Chrome: Error 107 ssl protocol error
Firefox: Error code: ssl_error_rx_record_too_long
Epiphany: SSL handshake failed
Умм .. Я не знаю почему, но я видел, что к некоторым веб-сайтам можно получить доступ, например https://example.com:1443
.
Или я что-то упустил?
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
NameVirtualHost *:443
NameVirtualHost *:444
Listen 443
Listen 444
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
Listen 444
</IfModule>
б. сайт:
<VirtualHost *:444>
ServerName www.b.com:444
ServerAdmin admin@b.com
LogLevel error
ErrorLog /var/log/apache2/b_error.log
CustomLog /var/log/apache2/b_access.log combined
DocumentRoot ...
<Directory ...>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/b.crt
SSLCertificateKeyFile /etc/ssl/private/b.pem
</VirtualHost>
Файл конфигурации CA для создания сертификата:
[ca]
default_ca = CA_default
[CA_default]
x509_extensions = root_ca_extensions
[req]
default_bits = 4096
default_keyfile =
distinguished_name = req_distinguished_name
attributes = req_attributes
prompt = no
x509_extensions = v3_ca
req_extensions = v3_req
[req_distinguished_name]
C = ...
ST = ..
O = ...
OU = ..
CN = ...
emailAddress = ca@b.com
[req_attributes]
[root_ca_extensions]
basicConstraints = CA:true
[v3_ca]
basicConstraints = CA:true
[v3_req]
basicConstraints = CA:false
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = b.com
DNS.2 = www.b.com
Ответ положительный.
Это моя ошибка, я настроил 127.0.0.1 www.b.com
в /etc/hosts
. Затем, однако я изменяю файлы конфигурации apache на удаленном сервере, мой браузер всегда разрешает www.b.com
на мой локальный хост, где есть сломанный сертификат.
Не уверен на 100%, что это проблема ... но попробуйте удалить: 444 из строки ServerName, чтобы он выглядел как
ServerName www.b.com
Порт не нужен, поскольку браузер подключается к этому порту, но заголовок хоста по-прежнему будет www.b.com независимо от того, какой порт используется.