Назад | Перейти на главную страницу

SSL - как заставить работать и http, и https

Я установил сайт Drupal 6 на выделенном сервере и включил SSL через панель управления «Матрица», которая была установлена ​​на нем.

Проблема теперь в том, что сайт загружает страницы ТОЛЬКО с https. Большинство изображений тоже не загружаются, я полагаю, это связано с одним и тем же. В идеале я хочу, чтобы работали и http, и https, тогда я могу отсортировать перенаправления для страниц, которые должны быть безопасными.

Ошибка при попытке загрузить обычную http-страницу:

**Bad Request**

Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.

Может кто-то указать мне верное направление?


Редактировать:

В сайты с поддержкой / domainname.co.uk для IP-адреса сервера настроен <VirtualHost>, использующий порт 80 следующим образом:

<VirtualHost xx.xx.xx.xx:80>
        ServerName xx.co.uk
        ServerAlias www.xx.co.uk
        ServerAdmin webmaster@xx.co.uk
        DocumentRoot /home/default/xx.co.uk/user/htdocs
        ErrorLog /home/default/xx.co.uk/user/logfiles/error_log
        TransferLog /home/default/xx.co.uk/user/logfiles/access_log
        php_admin_value open_basedir /tmp:/home/default/xx.co.uk
        SuexecUserGroup xx matrixdomain
        ScriptAlias /cgi-bin/ /home/default/xx.co.uk/user/htdocs/cgi-bin/
        AddHandler server-parsed .shtml
        AddType text/html .shtml
        <Location />
                Options +Includes
        </Location>
# Begin user directives <--
# --> End user directives

Зачем делать еще одну за 443?

В ports.conf у меня есть

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
    # SSL name based virtual hosts are not yet supported, therefore no
    # NameVirtualHost statement here
    Listen 443
</IfModule>

Кажется, что ваш Apache httpd неправильно настроен и пытается обслуживать HTTPS на HTTP-порту (посмотрите на конфигурацию вашего виртуального хоста для сайта Drupal), или вы используете такую ​​схему, как http://example.com:443/ для доступа к вашей установке Drupal, которая тоже не будет работать.

HTTP должен обслуживаться на порту 80 HTTPS должен обслуживаться на порту 443

Ваш сайт должен работать на: http://www.domain.com https://www.domain.com.

Это может быть одно из нескольких:

  • Вы вручную указываете порт, например, если вы посещаете http://www.domain.com:443/, это обычно терпит неудачу
  • Веб-сервер настроен неправильно и по какой-то причине обслуживает контент SSL на порту 80. Обычно этого не происходит, если в вашей панели управления нет ошибки или чего-то еще. Вы перезапустили Apache?
  • В конфигурации drupal установлено, что URL-адрес веб-сайта: "http://www.domain.com:443". Это всегда будет перенаправлять вас в это место, даже если вы введете http://www.domain.com в вашем браузере.
  • У вас установлен Drupal Secure Pages, но он настроен неправильно. Если он у вас установлен, посетите https://www.domain.com/admin/build/securepages настроить его.

Я думаю, что это краткое изложение того, в чем может быть проблема, сообщите нам свое решение!

+1 Используйте модуль защищенных страниц (если вы еще этого не сделали)

Ура

Я думаю, что следуй за документом, тебе поможет

Цитата

Apache: перенаправить http на https Безопасное соединение Apache - принудительное подключение HTTPS

Допустим, у вас есть поддомен веб-почты под названием http://mail.chida.in и вы хотите перенаправить его на защищенное соединение https, т.е. https://mail.chida.in.

Это поможет вам удаленно защитить конфиденциальность пользователей и конфиденциальную информацию, такую ​​как имя пользователя и пароль.

Итак, как настроить веб-сервер Apache, чтобы предотвратить доступ к своим веб-сайтам без шифрования? Перенаправить http на https Конфигурация Apache

Сначала убедитесь, что Apache настроен для HTTPS-соединения и установлены необходимые SSL-сертификаты. Нет доступа без SSL, то есть принимать только https-соединения

Теперь откройте файл httpd.conf или .htaccess (mod_rewrite не требуется):

vi httpd.conf

Добавьте следующую строку: Перенаправление постоянное / https://mail.chida.in/ Любой запрос, сделанный http://mail.chida.in будет идти к https://mail.chida.in/

Сохраните и закройте файл. Перезагрузите Apache:

/etc/init.d/httpd перезапуск

Это самый простой способ гарантировать, что ваш обычный пользователь никогда не будет использовать обычный текстовый протокол HTTP для отправки данных. Теперь это значительно усложняет анализ конфиденциальных данных. Принудительный вход в веб-почту через сеанс SSL https

Поэтому, если вы хотите, чтобы пользователи получали доступ к своей веб-почте через https, добавьте следующую конфигурацию в файл .htaccess:

RewriteEngine на RewriteCond% {HTTPS} от RewriteRule (. *) https: //%{HTTP_HOST}% {REQUEST_URI}

Убедитесь, что у вас есть что-то вроде следующего в httpd.conf (поддержка mod_rewrite): LoadModule rewrite_module modules / mod_rewrite.so

Цитата