• Дигитални аксесоари
  • сървър
  • Дигитален живот
  • Политика за поверителност
  • Свържете се с нас
  1. Home
  2. Article
  3. Пренасочване на Apache към HTTPS - SSL сертификати - Namecheap.com

Пренасочване на Apache към HTTPS - SSL сертификати - Namecheap.com

Rsdaa 28/12/2021 1057

Въпреки че инсталирането на SSL сертификат на уебсайт предоставя възможност за достъп до него със защитения https:// протокол, протоколът не се използва по подразбиране. За да сте сигурни, че достъпът до уебсайта се осъществява чрез протокола https:// по подразбиране, ще трябва да настроите автоматично пренасочване.

Ако имате контролен панел, инсталиран през Apache, ще трябва да настроите пренасочвания в самия панел, а не на сървъра, за да избегнете цикли на пренасочване или неправилно изпълнение на модула. Вижте нашето ръководство за това как да настроите HTTPS пренасочване в cPanel тук.

Пренасочване на Apache трябва да се използва, ако не използвате cPanel или друг контролен панел или GUI (графичен потребителски интерфейс).

Активиране на пренасочване на Apache във виртуалния хост

Активирането на пренасочване във файла на виртуалния хост е по-безопасно и по-лесно от другите опции, представени в това ръководство. Конфигурацията също е сходна за всички системи. Това включва добавяне на специфична част от кода към файла Virtual Host. Обикновено има два файла за виртуален хост на Apache, ако е инсталиран SSL сертификат: единият е за незащитения порт 80, а другият е за защитения порт 443.

Намерете конфигурацията на VirtualHost за порт 80, като изпълните следната команда: за сървъри, базирани на Debian (Ubuntu): apachectl -S за сървъри, базирани на RHEL (CentOS):httpd -S Пренасочването към HTTPS може да бъде активирано във файла за виртуален хост за порт 80 , Ако искате да наложите HTTPS за всички уеб страници, можете да използвате следния набор от директиви: за пренасочване на всичко към https://yourdomain.com:ServerName yourdomain.comRedirect permanent / https://yourdomain.com/ServerName yourdomain .comDocumentRoot /usr/local/apache2/htdocsSSLEngine On... за пренасочване на всичко към https://www.yourdomain.com: ServerName www.yourdomain.comRedirect permanent / https://www.yourdomain.com/ServerName www.yourdomain .comDocumentRoot /usr/local/apache2/htdocsSSLEngine On...за пренасочване на конкретна директория (/secure в нашия случай):ServerName www.yourdomain.comDocumentRoot /usr/local/apache2/htdocsRedirect permanent /secure https://yourdomain. com/secureServerName www.yourdomain.comDocumentRoot /usr/local/apache2/htdocsSSLEngine On... Забележка: За да се приложат промените, направени в конфигурационния файл, сървърът трябва да се рестартира. Ето конзолни команди и за двата типа системи: Базирана на Debian: sudo service apache2 restart RHEL-based: sudo service httpd restart

Използвайте .htaccess за пренасочване към HTTPS

Като алтернатива можете да промените . htaccess файл. Този файл обикновено се намира в основната директория на документа на уебсайта и се използва за прилагане на правила за пренасочване, както и някои други (като правила, които засягат начина, по който съдържанието е свързано в уебсайта, разрешения за файлове и т.н.).

Имайте предвид, че .htaccess не е наличен по подразбиране. За да го активирате, намерете и редактирайте файла VirtualHost, както следва:

След блока VirtualHost добавете следните редове:

....Опции Индекси FollowSymLinksAllowOverride AllRequire всички предоставени

След това ще бъде възможно да добавяте конфигурации към .htaccess файлове.

Следната команда може да се използва за намиране на файла .htaccess (ако вече съществува):

find / -type f -name ".htaccess"

Ако командата не върне нищо, файлът .htaccess трябва да бъде създаден в главната папка на документа.

Следната директива може да бъде добавена към файла .htaccess (който е поставен в основната папка на документа на уебсайта), за да защитите всички страници на уебсайта:

за пренасочване на всичко към https://yourdomain.com:Пренасочване за постоянно / https://yourdomain.com за пренасочване на всичко към https://www.yourdomain.com:Пренасочване за постоянно / https://www.yourdomain.com за пренасочване само на конкретна директория (/secure в нашия случай): Redirect permanent /secure https://yourdomain.com/secureЗабележка: препоръчително е да поставите този код най-отгоре на файла .htaccess, за да може да презапише други конфликтни кодове.< h2>Използвайте Apache Rewritecond - правило mod_rewrite

Използването на правилото mod_rewrite се препоръчва за опитни потребители, тъй като точната конфигурация може да е различна на различните системи. Това правило може да бъде поставено или в конфигурационния файл на виртуалния хост, или във файла .htaccess.

За да настрои пренасочвания чрез правила за пренаписване, Apache изисква модулът за пренаписване (mod_rewrite) да бъде активиран.

За да активирате този модул на базирана на Debian (Ubuntu) ОС, изпълнете командата по-долу:

пренаписване на sudo a2enmod

Ако модулът е активиран, следното съобщение ще бъде изпратено от сървъра:

Пренаписването на модула вече е активирано

Модулът за пренаписване обикновено е активиран по подразбиране в RHEL-базирана ОС. Следният ред трябва да присъства в главния конфигурационен файл:

LoadModule rewrite_module modules/mod_rewrite.so

Уверете се, че не е коментирано. Ако този ред не е в основния конфигурационен файл, инсталирайте модула за пренаписване, като изпълните тази команда:

sudo yum инсталирайте mod_rewrite

Синтаксисът на правилата mod_rewrite може да бъде сложен; например, ако искате да пренасочите към HTTPS в определени подпапки, които се състоят от други подпапки. Ако не сте сигурни дали mod_rewrite може да се използва, по-добре е да активирате пренасочването към HTTPS във файла Virtual Host.

Ако искате да създадете пренасочване за всички страници, правилото mod_rewrite трябва да изглежда така:

за да пренасочите всичко към https://yourdomain.com:RewriteEngine OnRewriteCond %{HTTPS} !=onRewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]Забележка: Кодът за www е същото като за не-www, но за да работи правилно, името на сървъра трябва да бъде зададено като www в конфигурационния код на VirtualHost. за пренасочване на конкретна директория (/secure в нашия случай): RewriteEngine OnRewriteCond %{HTTPS}! =onRewriteRule ^/?secure/(.*) https://%{SERVER_NAME}/secure/$1 [R=301,L]Забележка: За да зададете временно пренасочване, променете кода на състоянието 301 (постоянен) на 302 (временен ) върху R-флага.

Сега уебсайтът ви ще бъде достъпен чрез HTTPS по подразбиране. За да проверите дали пренасочванията работят правилно, можете или да изчистите кеша в браузъра, който обикновено използвате, и да отворите уебсайта си, или да опитате да го проверите в друг браузър.


PREV: Топ 10 на недостатъците на сървърната виртуализация

NEXT: Седем недостатъка на сървърната виртуализация | 4sysops

Popular Articles

Hot Articles

Navigation Lists

Back to Top