сайты отлично отображаются в браузере, кроме IE 6 - PullRequest
0 голосов
/ 28 октября 2018

Я наткнулся на ошибку, я настроил виртуальный хост apache httpd для использования в качестве обратного прокси-сервера, вот мой виртуальный хост:

<VirtualHost *:80>
ServerName example2.com

ErrorDocument 404 /404.html
ErrorDocument 503 /503.html
ErrorDocument 401 /401.html

###redirect permanent####
Redirect permanent / https://example2.com/
</VirtualHost>

<VirtualHost _default_:443>
ServerName example2.com

DocumentRoot /var/www/proxyhost/public_html

ErrorLog /var/log/httpd/proxyhost_ssl_error.log
CustomLog /var/log/httpd/proxyhost_ssl_requests.log combined

SSLEngine on
SSLCertificateFile      /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

BrowserMatch "MSIE [2-8]" nokeepalive downgrade-1.0 force-response-1.0

RewriteEngine on
RewriteRule ^/test1$ /test1/ [R]
RewriteRule ^/test2$ /test2/ [R]

ProxyPass /test1/ ajp://host1:8009/test/
ProxyPassReverse /test1/ ajp://host1:8009/test/
ProxyPass /test2/ ajp://host2:8009/test2/
ProxyPassReverse /test2/ ajp://host2:8009/test2/

ProxyPreserveHost On
ErrorDocument 404 /404.html
ErrorDocument 503 /503.html
ErrorDocument 401 /401.html
</VirtualHost>


<Directory /var/www/proxyhost/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

проблема в том, что приведенная выше конфигурация прекрасно работает с браузером, какХром и Firefox.Но когда я попытался получить доступ к сети, используя старый IE 6 на win server 2003, страница не может быть загружена.Я пытался получить доступ с помощью http (прокомментируйте функцию перенаправления) и https, ничего не отображается.

это журнал ошибок

[Sun Oct 28 13:23:32.502672 2018] [alias:warn] [pid 22755] AH00671: The Alias directive in /etc/httpd/directory-enabled/DIR_BRI.conf at line 1 will probably never match because it overlaps an earlier Alias.
[Sun Oct 28 13:23:32.502679 2018] [alias:warn] [pid 22755] AH00671: The Alias directive in /etc/httpd/directory-enabled/DIR_BTN.conf at line 1 will probably never match because it overlaps an earlier Alias.
[Sun Oct 28 13:23:32.502685 2018] [alias:warn] [pid 22755] AH00671: The Alias directive in /etc/httpd/directory-enabled/DIR_MANDIRI.conf at line 1 will probably never match because it overlaps an earlier Alias.
[Sun Oct 28 13:23:32.503602 2018] [auth_digest:notice] [pid 22755] AH01757: generating secret for digest authentication ...
[Sun Oct 28 13:23:32.504221 2018] [lbmethod_heartbeat:notice] [pid 22755] AH02282: No slotmem from mod_heartmonitor
[Sun Oct 28 13:23:32.505594 2018] [ssl:warn] [pid 22755] AH02292: Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
[Sun Oct 28 13:23:32.507996 2018] [mpm_prefork:notice] [pid 22755] AH00163: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.2k-fips configured -- resuming normal operations
[Sun Oct 28 13:23:32.508016 2018] [core:notice] [pid 22755] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'

Есть предложения по решению проблемы?потому что у меня нет полномочий заставлять наших пользователей обновлять их ОС и браузер.

Спасибо, Галих

1 Ответ

0 голосов
/ 29 октября 2018

Независимо от браузера, вы можете исправить ошибки конфигурации.Alias, No slotmem from mod_heartmonitor, ...

Что касается ошибки SSL, вы используете SNI (Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)).IE 6 НЕ поддерживает SNI.Таким образом, Apache не знает, к какому сайту пытаются подключиться пользователи IE 6.

Когда Apache получает запрос, для которого не включен SNI, он смотрит на порт (здесь 443) и обрабатывает запрос с помощью первого VirtualHost.находится на порту 443 (сверху вниз в конфигурации).Поэтому пользователь IE 6 всегда получит сертификат, указанный в первом <VirtualHost *:443>, представленном в вашей конфигурации.

На данный момент у вас есть 2 варианта.

  1. Не поддерживает IE 6Поместите на свой сайт заметку, что старые версии не работают с вашим сайтом (и, честно говоря, IE 6 очень старый, все известные мне бизнес-сайты больше не поддерживают его).
  2. Поставьте значение по умолчанию <VirtualHost *:443>, которое вы хотите, чтобы пользователи IE 6 видели первыми в вашей конфигурации.Но они не смогут связаться с другими.

РЕДАКТИРОВАТЬ 22: 45 : если пользователи IE6 также не могут получить доступ к http-версии вашего сайта, это возможночто:

  • они вообще не подключаются, проверьте ваши логи Apache.Вы должны поместить журналы в режим отладки (LogLevel debug).
  • они соединяются, но Apache не понимает запрос.Снова проверьте журналы Apache.
  • они получают страницу, но IE вылетает, пытаясь отобразить изображение.Это может быть вызвано кодом JavaScript, который IE6 слишком стар для понимания.Подтвердите, получает ли браузер страницу или нет.Я не знаю, можете ли вы просмотреть какую-нибудь консоль в IE6 (я знаю, что в новейшей версии есть что-то подобное).Если Javascript не выполняется, вы не увидите страницу в своем IE.Вы можете попытаться получить доступ к очень простой тестовой странице.
...