Немногие знают, что можно перенаправить Apache HTTP, мы расскажем, как это сделать. HTTP (протокол передачи гипертекста) является основным протоколом для обмена данными в World Wide Web (WWW — всемирная паутина) — как правило, между веб-браузером и сервером, который хранит веб-файлы. В то же время HTTPS — это безопасная версия HTTP, где «S» в конце означает «Secure».
При использовании HTTPS все данные между вашим браузером и веб-сервером шифруются, таким образом повышая степень безопасности. В этой статье будет показано, как перенаправить трафик HTTP на HTTPS для HTTP-сервера Apache в Linux.
Прежде чем вы сможете настроить перенаправление Apache HTTP на HTTPS для своего домена, убедитесь, что у вас установлен сертификат SSL, и в Apache включен mod_rewrite.
Перенаправление HTTP на HTTPS в Apache с использованием
файла .htaccess
Сначала убедитесь, что модуль mod_rewrite включен, в противном случае ОБЯЗАТЕЛЬНО включите его.
Для пользователей CentOS/RHEL (!) Убедитесь, что у вас есть следующая строка в httpd.conf (поддержка mod_rewrite — включена по умолчанию).
Теперь вам просто нужно отредактировать или создать файл .htaccess в корневом каталоге вашего домена.
И добавить эти строки для перенаправления http на https.
Теперь, когда посетитель набирает http://www.yourdomain.com, сервер автоматически перенаправляет HTTP на HTTPS https://www.yourdomain.com.
Как перенаправить HTTP на HTTPS на виртуальный хост Apache
Кроме того, чтобы заставить весь веб-трафик использовать HTTPS, вы также можете настроить свой файл виртуального хоста. Существует два важных пункта, касающихся конфигурации виртуального хоста, если включен SSL-сертификат.
Первый содержит конфигурацию для незащищенного порта 80.
Второй — для безопасного порта 443. Для перенаправления HTTP на HTTPS для всех страниц вашего веб-сайта сначала откройте соответствующий файл виртуального хоста. Затем измените его, добавив конфигурацию, приведенную ниже.
Сохраните и закройте файл, а затем перезапустите HTTP-сервер следующим образом.
<VirtualHost> является наиболее рекомендуемым решением, потому что он прост и безопасен.
Вопросы по статье задавайте в комментариях ниже.
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
6 комментариев. Оставить новый
Спасибо за инструкцию. Правда в случае с Apache в редиректе в конце сайта надо бы слэш поставить, иначе с директорий сайта некорректно перекидывает.
То есть так:
Redirect / https://www.yourdomain.com/
Как раз спустился в комменты, чтоб об этом написать))
Да, нужен слеш
Redirect / https://www.yourdomain.com
Redirect / https://www.yourdomain.com/
Спасибо! Исправил.
Спасибо! Исправил.
Добрый день! Как в редиректе в header передавать токен? что нужно прописать чтобы явно в headers указывать, что пробрасывается токен.
Здравствуйте!
я вставила код в .htaccess
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/robots\.txt$
RewriteCond %{HTTP:X-Forwarded-proto} !^https$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Но у меня всё равно есть смешанное содержимое и аудит показывает два урла
https://мойсайт.com/ и https://www.мойсайт.com/ и кроме того в админке wordpress нет слеша, а в браузере со слешем. Как мне сделать чтобы везде было https://мойсайт.com/ и со слешем?
Что значит «Сохраните и закройте файл, а затем перезапустите HTTP-сервер следующим образом.» ? что я должна сделать с кодом, который Вы указали ниже?
Если я вставлю ваш код, то мне надо убрать, то что я поставила до этого?